<SEC-DOCUMENT>0001171843-24-006126.txt : 20241107
<SEC-HEADER>0001171843-24-006126.hdr.sgml : 20241107
<ACCEPTANCE-DATETIME>20241107160546
ACCESSION NUMBER:		0001171843-24-006126
CONFORMED SUBMISSION TYPE:	8-K
PUBLIC DOCUMENT COUNT:		15
CONFORMED PERIOD OF REPORT:	20241107
ITEM INFORMATION:		Results of Operations and Financial Condition
ITEM INFORMATION:		Financial Statements and Exhibits
FILED AS OF DATE:		20241107
DATE AS OF CHANGE:		20241107

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			BLACKLINE, INC.
		CENTRAL INDEX KEY:			0001666134
		STANDARD INDUSTRIAL CLASSIFICATION:	SERVICES-PREPACKAGED SOFTWARE [7372]
		ORGANIZATION NAME:           	06 Technology
		IRS NUMBER:				463354276
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		8-K
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-37924
		FILM NUMBER:		241435533

	BUSINESS ADDRESS:	
		STREET 1:		21300 VICTORY BOULEVARD
		STREET 2:		12TH FLOOR
		CITY:			WOODLAND HILLS
		STATE:			CA
		ZIP:			91367
		BUSINESS PHONE:		818-223-9008

	MAIL ADDRESS:	
		STREET 1:		21300 VICTORY BOULEVARD
		STREET 2:		12TH FLOOR
		CITY:			WOODLAND HILLS
		STATE:			CA
		ZIP:			91367
</SEC-HEADER>
<DOCUMENT>
<TYPE>8-K
<SEQUENCE>1
<FILENAME>f8k_110724.htm
<DESCRIPTION>FORM 8-K
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:us-roles="http://fasb.org/us-roles/2021-01-31" xmlns:country="http://xbrl.sec.gov/country/2023" xmlns:srt="http://fasb.org/srt/2023"><head><title>Form 8-K</title></head><body style="font: 10pt Times New Roman, Times, Serif"><div style="display: none;"><ix:header><ix:hidden><ix:nonNumeric name="dei:EntityCentralIndexKey" contextRef="Form8K" id="ixv-140">0001666134</ix:nonNumeric> <ix:nonNumeric format="ixt:booleanfalse" name="dei:AmendmentFlag" contextRef="Form8K" id="ixv-141">False</ix:nonNumeric></ix:hidden><ix:references> <link:schemaRef xlink:href="gnw-20190101.xsd" xlink:type="simple"/> </ix:references> <ix:resources> <xbrli:context id="Form8K"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001666134</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:startDate>2024-11-07</xbrli:startDate> <xbrli:endDate>2024-11-07</xbrli:endDate> </xbrli:period> </xbrli:context> <xbrli:unit id="USD"> <xbrli:measure>iso4217:USD</xbrli:measure> </xbrli:unit> <xbrli:unit id="Shares"> <xbrli:measure>xbrli:shares</xbrli:measure> </xbrli:unit> <xbrli:unit id="USDPShares"> <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> </ix:resources></ix:header></div><div style="margin-top: 3pt; margin-bottom: 12pt;"><div style="font-size: 1pt; border-top: Black 2pt solid; border-bottom: Black 1pt solid; width: 100%;">&#160;</div></div><p style="font-size: 14pt; font-weight: bold; text-align: center; margin-top: 6pt; margin-bottom: 0pt;">UNITED STATES</p><p style="font-size: 14pt; font-weight: bold; text-align: center; margin-top: 0pt; margin-bottom: 0pt;">SECURITIES AND EXCHANGE COMMISSION</p><p style="font-size: 14pt; font-weight: bold; text-align: center; margin-top: 0pt; margin-bottom: 6pt;">Washington, D.C. 20549</p><p style="text-align: center;">_________________</p><p style="font-size: 14pt; font-weight: bold; text-align: center; margin-top: 6pt; margin-bottom: 6pt;">FORM <ix:nonNumeric name="dei:DocumentType" contextRef="Form8K" id="ixv-161">8-K</ix:nonNumeric></p><p style="text-align: center;">_________________</p><p style="font-size: 12pt; font-weight: bold; text-align: center; margin-top: 6pt; margin-bottom: 6pt;">CURRENT REPORT</p><p style="font-size: 12pt; font-weight: bold; text-align: center; margin-top: 6pt; margin-bottom: 6pt;">Pursuant to Section 13 or 15(d)<br/>of the Securities Exchange Act of 1934</p><p style="font-size: 10pt; font-weight: bold; text-align: center; margin-top: 6pt; margin-bottom: 6pt;">Date of Report (Date of earliest event reported):&#160; <ix:nonNumeric format="ixt:datemonthdayyearen" name="dei:DocumentPeriodEndDate" contextRef="Form8K" id="ixv-162">November 7, 2024</ix:nonNumeric></p><p style="text-align: center;">_______________________________</p><p style="font-size: 12pt; text-align: center; margin-top: 6pt; margin-bottom: 0; font-weight: bold;"><ix:nonNumeric name="dei:EntityRegistrantName" contextRef="Form8K" id="ixv-163">BLACKLINE, INC.</ix:nonNumeric></p><p style="font-size: 10pt; text-align: center; margin-top: 0; margin-bottom: 6pt;">(Exact name of registrant as specified in its charter)</p><p style="text-align: center;">_______________________________</p><table style="width: 100%; margin-right: auto; margin-left: auto;" border="0" cellspacing="0" cellpadding="0"><tr style="vertical-align: top;"><td style="width: 33%; font-size: 10pt; font-weight: bold; text-align: center;"><ix:nonNumeric format="ixt-sec:stateprovnameen" name="dei:EntityIncorporationStateCountryCode" contextRef="Form8K" id="ixv-164">Delaware</ix:nonNumeric></td><td style="width: 34%; font-size: 10pt; text-align: center; font-weight: bold;"><ix:nonNumeric name="dei:EntityFileNumber" contextRef="Form8K" id="ixv-165">001-37924</ix:nonNumeric></td><td style="width: 33%; font-size: 10pt; font-weight: bold; text-align: center;"><ix:nonNumeric name="dei:EntityTaxIdentificationNumber" contextRef="Form8K" id="ixv-166">46-3354276</ix:nonNumeric></td></tr><tr style="vertical-align: top;"><td style="font-size: 10pt; text-align: center;">(State or Other Jurisdiction of Incorporation)</td><td style="font-size: 10pt; text-align: center;">(Commission File Number)</td><td style="font-size: 10pt; text-align: center;">(I.R.S. Employer Identification No.)</td></tr></table><!-- Postal Address Country=UNITED STATES  --><p style="font-size: 10pt; text-align: center; margin-top: 12pt; margin-bottom: 0pt; font-weight: bold;"><ix:nonNumeric name="dei:EntityAddressAddressLine1" contextRef="Form8K" id="ixv-167">21300 Victory Boulevard, 12th Floor</ix:nonNumeric></p><p style="font-size: 10pt; text-align: center; margin-top: 0pt; margin-bottom: 0pt; font-weight: bold;"><ix:nonNumeric name="dei:EntityAddressCityOrTown" contextRef="Form8K" id="ixv-168">Woodland Hills</ix:nonNumeric>, <ix:nonNumeric format="ixt-sec:stateprovnameen" name="dei:EntityAddressStateOrProvince" contextRef="Form8K" id="ixv-169">California</ix:nonNumeric> <ix:nonNumeric name="dei:EntityAddressPostalZipCode" contextRef="Form8K" id="ixv-170">91367</ix:nonNumeric></p><p style="font-size: 10pt; text-align: center; margin-top: 0pt; margin-bottom: 6pt;">(Address of Principal Executive Offices) (Zip Code)</p><!-- Phone Number --><p style="font-size: 10pt; font-weight: bold; text-align: center; margin-top: 0pt; margin-bottom: 0pt;">(<ix:nonNumeric name="dei:CityAreaCode" contextRef="Form8K" id="ixv-171">818</ix:nonNumeric>) <ix:nonNumeric name="dei:LocalPhoneNumber" contextRef="Form8K" id="ixv-172">223-9008</ix:nonNumeric></p><p style="font-size: 10pt; text-align: center; margin-top: 0pt; margin-bottom: 6pt;">(Registrant's telephone number, including area code)</p><!-- Former Name --><p style="font-size: 10pt; font-weight: bold; text-align: center; margin-top: 0pt; margin-bottom: 0pt;">Not Applicable</p><p style="font-size: 10pt; text-align: center; margin-top: 0pt; margin-bottom: 0pt;">(Former name or former address, if changed since last report)</p><p style="text-align: center;">_______________________________</p><!-- Checkboxes --><p style="font-size: 10pt; text-align: left; text-indent: 0; margin-top: 6pt; margin-bottom: 6pt;">Check the appropriate box below if the Form 8-K filing is intended to simultaneously satisfy the filing obligation of the registrant under any of the following provisions:</p><table style="width: 100%; margin-top: 6pt; margin-bottom: 6pt; font-size: 10pt;" cellspacing="0" cellpadding="0"><tr style="vertical-align: top;"><td style="width: 3%; text-align: center; vertical-align: middle;"><ix:nonNumeric format="ixt-sec:boolballotbox" name="dei:WrittenCommunications" contextRef="Form8K" id="ixv-173">&#9744;</ix:nonNumeric></td><td style="width: 97%; text-align: left;">Written communications pursuant to Rule 425 under the Securities Act (17 CFR 230.425)</td></tr><tr style="vertical-align: top;"><td style="width: 3%; text-align: center; vertical-align: middle;"><ix:nonNumeric format="ixt-sec:boolballotbox" name="dei:SolicitingMaterial" contextRef="Form8K" id="ixv-174">&#9744;</ix:nonNumeric></td><td style="width: 97%; text-align: left;">Soliciting material pursuant to Rule 14a-12 under the Exchange Act (17 CFR 240.14a-12)</td></tr><tr style="vertical-align: top;"><td style="width: 3%; text-align: center; vertical-align: middle;"><ix:nonNumeric format="ixt-sec:boolballotbox" name="dei:PreCommencementTenderOffer" contextRef="Form8K" id="ixv-175">&#9744;</ix:nonNumeric></td><td style="width: 97%; text-align: left;">Pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act (17 CFR 240.14d-2(b))</td></tr><tr style="vertical-align: top;"><td style="width: 3%; text-align: center; vertical-align: middle;"><ix:nonNumeric format="ixt-sec:boolballotbox" name="dei:PreCommencementIssuerTenderOffer" contextRef="Form8K" id="ixv-176">&#9744;</ix:nonNumeric></td><td style="width: 97%; text-align: left;">Pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act (17 CFR 240.13e-4(c))</td></tr></table><!-- Securities Table --><p style="font-size: 10pt; text-align: left; text-indent: 0; margin-top: 6pt; margin-bottom: 6pt;">Securities registered pursuant to Section 12(b) of the Act:</p><div><table border="0" cellspacing="0" cellpadding="0" style="width: 100%"><tr style="vertical-align: top"><td style="font-size: 10pt; text-align: center; margin-top: 6pt; margin-bottom: 6pt; width: 39%; border-bottom: Black 1pt solid">Title of each class</td><td style="font-size: 10pt; text-align: center; margin-top: 6pt; margin-bottom: 6pt; width: 23%; border-bottom: Black 1pt solid">Trading Symbol(s)</td><td style="font-size: 10pt; text-align: center; margin-top: 6pt; margin-bottom: 6pt; width: 38%; border-bottom: Black 1pt solid">Name of each exchange on which registered</td></tr><tr style="vertical-align: top"><td style="font-size: 10pt; text-align: center"><span><ix:nonNumeric contextRef="Form8K" name="dei:Security12bTitle" id="ixv-177">Common Stock, par value $0.01 per share</ix:nonNumeric></span></td><td style="font-size: 10pt; text-align: center"><span><ix:nonNumeric contextRef="Form8K" name="dei:TradingSymbol" id="ixv-178">BL</ix:nonNumeric></span></td><td style="font-size: 10pt; text-align: center"><span><ix:nonNumeric contextRef="Form8K" format="ixt-sec:exchnameen" name="dei:SecurityExchangeName" id="ixv-179">NASDAQ Global Select Market</ix:nonNumeric></span></td></tr></table></div><!-- Emerging Growth Company --><p style="font-size: 10pt; text-align: left; text-indent: 0; margin-top: 6pt; margin-bottom: 6pt;">Indicate by check mark whether the registrant is an emerging growth company as defined in Rule 405 of the Securities Act of 1933 (&#167;230.405 of this chapter) or Rule 12b-2 of the Securities Exchange Act of 1934 (&#167;240.12b-2 of this chapter).</p><p style="font-size: 10pt; text-align: left; text-indent: 0; margin-top: 6pt; margin-bottom: 6pt;">Emerging growth company <ix:nonNumeric format="ixt-sec:boolballotbox" name="dei:EntityEmergingGrowthCompany" contextRef="Form8K" id="ixv-180">&#9744;</ix:nonNumeric></p><p style="font-size: 10pt; text-align: left; text-indent: 0; margin-top: 6pt; margin-bottom: 6pt;">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. &#9744;</p><div style="margin-top: 0pt; margin-bottom: 0pt; border-bottom: Black 4pt solid;">&#160;</div><div style="page-break-before: always; margin-top: 0pt; margin-bottom: 0pt;">&#160;</div><!-- 8-K Items --><div><div><div style="font-size: 10pt;"><strong>Item 2.02. Results of Operations and Financial Condition.</strong></div><div style="font-size: 10pt;"><p style="margin-top: 0pt; margin-bottom: 0pt;">&#160;</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0;">On November 7, 2024, the Registrant issued a press release, a copy of which is attached hereto as Exhibit 99.1 and is incorporated herein by reference.</p><p style="margin-top: 0pt; margin-bottom: 0pt;">&#160;</p></div></div><div><div style="font-size: 10pt;"><strong>Item 9.01. Financial Statements and Exhibits.</strong></div><div style="font-size: 10pt;"><p>(d) Exhibits</p><table style="font-size: 10pt;" border="0" cellspacing="0" cellpadding="0"><tr><td style="font-size: 10pt; font-weight: bold; text-decoration: underline;" valign="bottom">Exhibit Number</td><td style="font-size: 10pt; width: 20px;">&#160;</td><td style="font-size: 10pt; font-weight: bold; text-decoration: underline;" valign="bottom">Description</td></tr><tr><td style="font-size: 10pt;">&#160;</td><td style="font-size: 10pt; width: 20px;">&#160;</td><td style="font-size: 10pt;">&#160;</td></tr><tr><td style="font-size: 10pt;"><a href="exh_991.htm">99.1</a></td><td style="font-size: 10pt; width: 20px;">&#160;</td><td style="font-size: 10pt;"><a href="exh_991.htm">Press release dated November 7, 2024 </a></td></tr><tr><td style="font-size: 10pt;">104</td><td style="font-size: 10pt; width: 20px;">&#160;</td><td style="font-size: 10pt;">Cover Page Interactive Data File (embedded within the Inline XBRL document)</td></tr></table></div></div></div><div style="margin-top: 0pt; margin-bottom: 0pt; border-bottom: Black 4pt solid;">&#160;</div><div style="page-break-before: always; margin-top: 0pt; margin-bottom: 0pt;">&#160;</div><!-- Signatures --><p style="font-size: 10pt; text-align: center; font-weight: bold;">SIGNATURE</p><p style="font-size: 10pt;">Pursuant to the requirements of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned hereunto duly authorized.</p><table style="width: 100%;" border="0" cellspacing="0" cellpadding="0"><tr style="vertical-align: top;"><td>&#160;</td><td style="font-size: 10pt; font-weight: bold;" colspan="2">BLACKLINE, INC.</td></tr><tr style="vertical-align: top;"><td style="width: 49%;">&#160;</td><td style="width: 2%;">&#160;</td><td style="width: 49%;">&#160;</td></tr><tr style="vertical-align: top;"><td>&#160;</td><td>&#160;</td><td style="font-size: 10pt;"/></tr><tr style="vertical-align: top;"><td style="font-size: 10pt;">Date: November 7, 2024</td><td style="font-size: 10pt;">By:&#160;</td><td style="text-decoration: underline; font-size: 10pt;">/s/ Mark Partin&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</td></tr><tr style="vertical-align: top;"><td>&#160;</td><td>&#160;</td><td style="font-size: 10pt;">Mark Partin</td></tr><tr style="vertical-align: top;"><td>&#160;</td><td>&#160;</td><td style="font-size: 10pt;">Chief Financial Officer</td></tr><tr style="vertical-align: top;"><td>&#160;</td><td>&#160;</td><td style="font-size: 10pt;"/></tr></table><!-- Exhibit Index --><div></div><!-- (818) 223-9008 Form 8-KNovember 7, 2024 --><p>&#160;</p></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-99.1
<SEQUENCE>2
<FILENAME>exh_991.htm
<DESCRIPTION>PRESS RELEASE
<TEXT>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html lang="en-US"><head><title>EdgarFiling</title><meta content="text/html; charset=windows-1252" ><meta name="GENERATOR" content="MSHTML 8.00.7601.18094" ></head><body bgcolor="#ffffff"><p style="text-align: right;"><strong>EXHIBIT 99.1</strong></p><p style="text-align: center;"><font style="font-size: 14pt;"><strong>BlackLine Announces Third Quarter Financial Results</strong></font></p><p style="text-align: center;"><strong></strong></p><p>
 <p align="justify">LOS ANGELES, Nov.  07, 2024  (GLOBE NEWSWIRE) -- <u>BlackLine, Inc</u><u>.</u> (Nasdaq: BL), today announced financial results for the third quarter ended September&#160;30, 2024.</p>  <p align="justify">&#8220;BlackLine delivered another quarter of solid financial results, exceeding our financial guidance while achieving record free cash flow generation," said Owen Ryan, co-CEO of BlackLine. &#8220;Our relentless focus on operational excellence continues to drive execution across the organization, enhancing our competitive position while advancing our strategic initiatives.&#8221;</p>  <p align="justify">&#8220;Innovation is accelerating at BlackLine, as our teams deliver compelling new solutions and functionality that enhance our differentiation in the market," said Therese Tucker, co-CEO of BlackLine. "The expanding depth and breadth of our solutions are increasing our strategic value and criticality within the Office of the CFO, while driving deeper customer engagement. We look forward to showcasing our latest innovations at our upcoming BeyondTheBlack customer conference.&#8221;</p>  <p align="justify"><strong>Third Quarter 2024 Financial Highlights</strong></p>  <ul type="disc"><li style="margin-top:6pt; text-align:justify;">Total GAAP revenues of $165.9 million, an increase of 10% compared to the third quarter of 2023.</li><li style="margin-top:6pt; text-align:justify;">GAAP operating margin of 5.0%, compared to (0.7)%<sup>1</sup> in the third quarter of 2023.</li><li style="margin-top:6pt; text-align:justify;">Non-GAAP operating margin of 22.7%, compared to 16.0% in the third quarter of 2023.</li><li style="margin-top:6pt; text-align:justify;">GAAP net income attributable to BlackLine of $17.2 million, or $0.27 per diluted share compared to GAAP net income attributable to BlackLine of $11.9 million or $0.19 per diluted share in the third quarter of 2023.</li><li style="margin-top:6pt; text-align:justify;">Non-GAAP net income attributable to BlackLine of $44.4 million or $0.60 per diluted share compared to non-GAAP net income attributable to BlackLine of $37.9 million or $0.51 per diluted share in the third quarter of 2023.</li><li style="margin-top:6pt; text-align:justify;">Operating cash flow of $55.9 million, compared to $37.0 million in the third quarter of 2023.</li><li style="margin-top:6pt; text-align:justify;">Free cash flow of $49.4 million, compared to $31.4 million in the third quarter of 2023.<br ></li></ul>  <p align="justify"><strong>Third Quarter Key Metrics and Recent Business Highlights</strong></p>  <ul type="disc"><li style="margin-top:6pt; text-align:justify;">BlackLine had a total of 4,433 customers at September&#160;30, 2024.</li><li style="margin-top:6pt; text-align:justify;">Expanded the Company&#8217;s user base to 397,095 users at September&#160;30, 2024.</li><li style="margin-top:6pt; text-align:justify;">Achieved a dollar-based net revenue retention rate of 105% at September&#160;30, 2024.</li><li style="margin-top:6pt; text-align:justify;">Recognized with the Tech Cares and Buyers Choice awards from TrustRadius.</li><li style="margin-top:6pt; text-align:justify;">Named the Best Accounting &amp; Finance Software for the fifth consecutive year by G2.</li><li style="margin-top:6pt; text-align:justify;">Named a leader in the IDC MarketScape: Worldwide Office of the CFO Record to Report 2024 Vendor Assessment.</li><li style="margin-top:6pt; text-align:justify;">Announced appointment of David Henshall to the BlackLine Board of Directors.</li><li style="margin-top:6pt; text-align:justify;">Ranked Exemplary Leader by Ventana Research in the 2024 Financial Close Buyers Guide.</li></ul>  <p align="justify">The financial results included in this press release are preliminary and subject to final review. Financial results will not be final until BlackLine files its Quarterly Report on Form 10-Q for the period. Information about BlackLine&#8217;s use of non-GAAP financial measures is provided below under &#8220;Use of Non-GAAP Financial Measures.&#8221;</p>  <p><u>&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;&#160;</u></p>  <p><sup>1</sup> Reflects $11.1 million reversal of expense due to the decrease in the fair value of contingent consideration.</p>  <p align="justify"><strong>Financial Outlook</strong></p>  <p align="justify"><strong><u>Fourth Quarter 2024</u></strong></p>  <ul type="disc"><li style="margin-top:6pt; text-align:justify;">Total GAAP revenue is expected to be in the range of $167 million to $169 million.</li><li style="margin-top:6pt; text-align:justify;">Non-GAAP operating margin is expected to be in the range of 18.0% to 19.0%.</li><li style="margin-top:6pt; text-align:justify;">Non-GAAP net income attributable to BlackLine is expected to be in the range of $36.0 million to $40.0 million, or $0.47 to $0.52 per share on 77.1 million diluted weighted average shares outstanding.<br ></li></ul>  <p align="justify"><strong><u>Full Year 2024</u></strong></p>  <ul type="disc"><li style="margin-top:6pt; text-align:justify;">Total GAAP revenue is expected to be in the range of $651.0 million to $653.0 million.</li><li style="margin-top:6pt; text-align:justify;">Non-GAAP operating margin is expected to be in the range of 19.4% to 19.6%.</li><li style="margin-top:6pt; text-align:justify;">Non-GAAP net income attributable to BlackLine is expected to be in the range of $164 million to $168 million, or $2.15 to $2.21 per share on 76.1 million diluted weighted average shares outstanding.<br ></li></ul>  <p align="justify">Guidance for non-GAAP operating margin, non-GAAP net income attributable to BlackLine, and non-GAAP net income attributable to BlackLine per share excludes specified items from the corresponding GAAP financial measures as outlined below under &#8220;Use of Non-GAAP Financial Measures&#8221; and as detailed in the reconciliations of non-GAAP measures for historical periods. Reconciliations of non-GAAP operating margin, non-GAAP net income attributable to BlackLine, and non-GAAP net income attributable to BlackLine per share guidance to the most directly comparable U.S. GAAP measures are not available on a forward-looking basis without unreasonable efforts due to the unpredictability and complexity of the charges excluded from these non-GAAP financial measures. The Company expects the variability of the above items could have a significant, and potentially unpredictable, impact on its future GAAP operating margin, net income attributable to BlackLine, and net income attributable to BlackLine per share.</p>  <p align="justify"><strong>Quarterly Conference Call </strong></p>  <p align="justify">BlackLine will hold a conference call to discuss its third quarter results at 2:00 p.m. Pacific time on Thursday, November&#160;7, 2024. A live audio webcast will be accessible on BlackLine&#8217;s investor relations website at https://investors.blackline.com. Participants can preregister for the conference call. A replay of the webcast will be available at https://investors.blackline.com for 12 months. BlackLine has used, and intends to continue to use, its Investor Relations website as a means of disclosing material non-public information and for complying with its disclosure obligations under Regulation FD.</p>  <p align="justify"><strong>About BlackLine </strong></p>  <p align="justify"><u>BlackLine</u>&#160;(Nasdaq: BL), the future-ready platform for the Office of the CFO, drives digital finance transformation by empowering organizations with accurate, efficient, and intelligent financial operations.</p>  <p align="justify">BlackLine&#8217;s comprehensive platform addresses mission-critical processes, including record-to-report and invoice-to-cash, enabling unified and accurate data, streamlined and optimized processes, and real-time insight through visibility, automation, and AI. BlackLine&#8217;s proven, collaborative approach ensures continuous transformation, delivering immediate impact and sustained value. With a proven track record of innovation, industry-leading R&amp;D investment, and world-class security practices, more than 4,400 customers across multiple industries partner with BlackLine to lead their organizations into the future.</p>  <p align="justify">For more information, please visit <u>blackline.com</u>.</p>  <p align="justify"><strong>Forward-looking Statements </strong></p>  <p align="justify">This release and the conference call referenced above contain forward-looking statements within the meaning of the Private Securities Litigation Reform Act of 1995. In some cases, you can identify forward-looking statements by terminology such as &#8220;may,&#8221; &#8220;will,&#8221; &#8220;should,&#8221; &#8220;could,&#8221; &#8220;expect,&#8221; &#8220;plan,&#8221; anticipate,&#8221; &#8220;believe,&#8221; &#8220;estimate,&#8221; &#8220;predict,&#8221; &#8220;intend,&#8221; &#8220;potential,&#8221; &#8220;would,&#8221; &#8220;continue,&#8221; &#8220;ongoing&#8221; or the negative of these terms or other comparable terminology. Forward-looking statements in this release and quarterly conference call include, but are not limited to, statements regarding BlackLine&#8217;s future financial and operational performance, including, without limitation, GAAP and non-GAAP guidance for the fourth quarter and full year of 2024, the impact of progress against certain key initiatives, our expectations for our business, including the demand environment, BlackLine&#8217;s addressable market, market position and pipeline, our international growth, and our relationships with our customers and partners, including opportunities to expand those relationships.</p>  <p align="justify">Any forward-looking statements contained in this press release or the quarterly conference call are based upon BlackLine&#8217;s historical performance and its current plans, estimates and expectations and are not a representation that such plans, estimates, or expectations will be achieved. Forward-looking statements are based on information available at the time those statements are made and/or management&#8217;s good-faith beliefs and assumptions as of that time with respect to future events, and are subject to risks and uncertainties. If any of these risks or uncertainties materialize or if any assumptions prove incorrect, actual performance or results may differ materially from those expressed in or suggested by the forward-looking statements. These risks and uncertainties include, but are not limited to risks related to the Company&#8217;s ability to attract new customers and expand sales to existing customers; the extent to which customers renew their subscription agreements or increase the number of users; the impact of current and future economic uncertainty and other unfavorable conditions in the Company's industry or the global economy, the Company&#8217;s ability to manage growth and scale effectively, including entry into new geographies; the Company&#8217;s ability to provide successful enhancements, new features and modifications to its software solutions; the Company&#8217;s ability to develop new products and software solutions and the success of any new product and service introductions; the Company's ability to effectively incorporate artificial intelligence and machine learning technologies (AI/ML) into its platform and business and the potential reputational harm or legal liability that may result from the use of AI/ML solutions and features; the success of the Company&#8217;s strategic relationships with technology vendors and business process outsourcers, channel partners and alliance partners; any breaches of the Company&#8217;s security measures; a disruption in the Company&#8217;s hosting network infrastructure; costs and reputational harm that could result from defects in the Company&#8217;s solutions; the loss of any key employees; continued strong demand for the Company&#8217;s software in the United States, Europe, Asia Pacific, and Latin America; the Company&#8217;s ability to compete as the financial close management provider for organizations of all sizes; the timing and success of solutions offered by competitors; including competitors' ability to incorporate AI/ML into products and offerings more quickly or successfully; changes in the proportion of the Company&#8217;s customer base that is comprised of enterprise or mid-sized organizations; the Company&#8217;s ability to expand and effectively manage its sales teams and their performance and productivity; fluctuations in our financial results due to long and increasingly variable sales cycles, failure to protect the Company&#8217;s intellectual property; the Company&#8217;s ability to integrate acquired businesses and technologies successfully or achieve the expected benefits of such transactions; unpredictable and uncertain macro and regional economic conditions; seasonality; changes in current tax or accounting rules; cyber attacks and the risk that the Company&#8217;s security measures may not be sufficient to secure its customer or confidential data adequately; acts of terrorism or other vandalism, war or natural disasters including the effects of climate change; the impact of any determination of deficiencies or weaknesses in our internal controls and processes; and other risks and uncertainties described in the other filings we make with the Securities and Exchange Commission from time to time, including the risks described under the heading &#8220;Risk Factors&#8221; in our Annual Report on Form 10-K for the year ended December 31, 2023 filed with the Securities and Exchange Commission on February 23, 2024. Additional information will also be set forth in our Quarterly Report on Form 10-Q for the quarter ended September 30, 2024. Forward-looking statements should not be read as a guarantee of future performance or results, and you should not place undue reliance on such statements. Except as required by law, we do not undertake any obligation to publicly update or revise any forward-looking statement, whether as a result of new information, future developments or otherwise. All of the information in this press release is subject to completion of our quarterly review process.</p>  <p align="justify"><strong>Use of Non-GAAP Financial Measures</strong></p>  <p align="justify">To supplement its consolidated financial statements, which are prepared and presented in accordance with U.S. generally accepted accounting principles, or GAAP, BlackLine has provided in this release and the quarterly conference call held on November&#160;7, 2024, certain financial measures that have not been prepared in accordance with GAAP defined as &#8220;non-GAAP financial measures,&#8221; which include (i) non-GAAP gross profit and non-GAAP gross margin, (ii) non-GAAP operating expenses, (iii) non-GAAP operating income (loss) and non-GAAP operating margin, (iv) non-GAAP net income (loss) attributable to BlackLine, Inc. (v) diluted non-GAAP net income (loss) attributable to BlackLine, Inc. per share, and (vi) free cash flow.</p>  <p align="justify">BlackLine&#8217;s management uses these non-GAAP financial measures internally in analyzing its financial results and believes they are useful to investors, as a supplement to the corresponding GAAP measures, in evaluating BlackLine&#8217;s ongoing operational performance and trends and in comparing its financial measures with other companies in the same industry, many of which present similar non-GAAP financial measures to help investors understand the operational performance of their businesses. However, it is important to note that the particular items BlackLine excludes from, or includes in, its non-GAAP financial measures may differ from the items excluded from, or included in, similar non-GAAP financial measures used by other companies in the same industry. Non-GAAP financial measures should not be considered in isolation from, or as a substitute for, financial information prepared in accordance with GAAP. Investors are encouraged to review the reconciliation of these non-GAAP measures to their most directly comparable GAAP financial measures. A reconciliation of the non-GAAP financial measures to such GAAP measures has been provided in the tables included as part of this press release.</p>  <p align="justify"><em>Non-GAAP Gross Profit and Non-GAAP Gross Margin.</em>&#160;Non-GAAP gross profit is defined as GAAP revenues less GAAP cost of revenue adjusted for amortization of acquired developed technology, stock-based compensation, and transaction-related costs (including, but not limited to, accounting, legal, and advisory fees related to the transaction, as well as transaction-related retention bonuses). Non-GAAP gross margin is defined as non-GAAP gross profit divided by GAAP revenues. BlackLine believes that presenting non-GAAP gross profit and non-GAAP gross margin is useful to investors as it eliminates the impact of certain non-cash expenses and allows a direct comparison between periods.</p>  <p align="justify"><em>Non-GAAP Operating Expenses</em>. Non-GAAP operating expenses include (a) non-GAAP sales and marketing expense, (b) non-GAAP research and development expense and (c) non-GAAP general and administrative expense. Non-GAAP sales and marketing expense is defined as GAAP sales and marketing expense adjusted for amortization of intangible assets, stock-based compensation, and transaction-related costs. Non-GAAP research and development expense is defined as GAAP research and development expense adjusted for stock-based compensation and transaction-related costs. Non-GAAP general and administrative expense is defined as GAAP general and administrative expense adjusted for amortization of intangible assets, stock-based compensation, change in fair value of contingent consideration, transaction-related costs, and legal settlement gains or costs. BlackLine believes that presenting each of the non-GAAP operating expenses is useful to investors as it eliminates the impact of certain cash and non-cash expenses and allows a direct comparison of operating expenses between periods.</p>  <p align="justify"><em>Non-GAAP Income (Loss) from Operations and Non-GAAP Operating Margin</em>. Non-GAAP income (loss) from operations is defined as GAAP income (loss) from operations adjusted for amortization of intangible assets, stock-based compensation, change in fair value of contingent consideration, transaction-related costs, legal settlement gains or costs, and restructuring costs. Non-GAAP operating margin is defined as non-GAAP income (loss) from operations divided by GAAP revenues. The Company believes that presenting non-GAAP income (loss) from operations and non-GAAP operating margin is useful to investors as it eliminates the impact of items that have been impacted by the Company&#8217;s acquisitions and other related costs in order to allow a direct comparison of income (loss) from operations between all periods presented.</p>  <p align="justify"><em>Non-GAAP Net Income (Loss) Attributable to BlackLine and Diluted Non-GAAP Net Income (Loss) Attributable to BlackLine, Inc. Per Share. </em>Non-GAAP net income (loss) attributable to BlackLine is defined as GAAP net income (loss) attributable to BlackLine adjusted for the impact of the provision for (benefit from) income taxes related to acquisitions, amortization of intangible assets, stock-based compensation, amortization of debt issuance costs from our convertible senior notes, change in fair value of contingent consideration, transaction-related costs, legal settlement gains or costs, restructuring costs, adjustment to the redeemable non-controlling interest to the redemption amount, and gain on extinguishment of convertible senior notes. Diluted non-GAAP net income (loss) attributable to BlackLine, Inc. per share includes the adjustment for shares resulting from the elimination of stock-based compensation. The Company believes that presenting non-GAAP net income (loss) attributable to BlackLine is useful to investors as it eliminates the impact of items that have been impacted by the Company&#8217;s acquisitions and other related costs to allow a direct comparison of net income (loss) between all periods presented.</p>  <p align="justify"><em>Free Cash Flow</em>. Free cash flow is defined as cash flows provided by (used in) operating activities less cash flows used to purchase property and equipment, financed and otherwise, capitalized software development, and intangible assets. BlackLine believes that presenting free cash flow is useful to investors as it provides a measure of the Company&#8217;s liquidity used by management to evaluate the amount of cash generated by the Company&#8217;s business including the impact of purchases of property and equipment and cost of capitalized software development.</p>  <p><strong>Use of Operating Metrics </strong></p>  <p align="justify">BlackLine has provided in this release and the quarterly conference call held on November&#160;7, 2024 certain operating metrics, including (i) number of customers, (ii) number of users, and (iii) dollar-based net revenue retention rate, which BlackLine uses to evaluate its business, measure its performance, identify trends affecting its business, formulate financial projections and make strategic decisions. These operating metrics exclude the impact of certain Runbook licensed customers and users who are on perpetual license agreements and did not have an active subscription agreement with BlackLine as of September&#160;30, 2024.</p>  <p align="justify"><em>Dollar-based Net Revenue Retention Rate</em>. Dollar-based net revenue retention rate is calculated as the implied monthly subscription and support revenue at the end of a period for the base set of customers from which the Company generated subscription revenue in the year prior to the calculation, divided by the implied monthly subscription and support revenue one year prior to the date of calculation for that same customer base. This calculation does not reflect implied monthly subscription and support revenue for new customers added during the one-year period but does include the effect of customers who terminated during the period. Implied monthly subscription and support revenue is defined as the total amount of minimum subscription and support revenue contractually committed to, under each of BlackLine&#8217;s customer agreements over the entire term of the agreement, divided by the number of months in the term of the agreement. BlackLine believes that dollar-based net revenue retention rate is an important metric to measure the long-term value of customer agreements and the Company&#8217;s ability to retain and grow its relationships with existing customers over time.</p>  <p align="justify"><em>Number of Customers</em>. A customer is defined as a company that contributes to our subscription and support revenue as of the measurement date. In situations where an organization has multiple subsidiaries or divisions, each entity that is invoiced as a separate entity is treated as a separate customer. In an instance where an existing customer requests its invoice be divided for the sole purpose of restructuring its internal billing arrangement without any incremental increase in revenue, such customer continues to be treated as a single customer. BlackLine believes that its ability to expand its customer base is an indicator of the Company&#8217;s market penetration and the growth of its business.</p>  <p align="justify"><em>Number of Users</em>. Historically, BlackLine&#8217;s products were priced based on the number of users of its platform. Over time, the Company has begun to sell an increasing number of non-user based products with fixed or transaction-based pricing. For this reason, we believe the growth in the number of total users is less correlated to the growth of the business overall.</p>  <p><strong>Media Contact:</strong><br >Samantha Darilek<br ><u>samantha.darilek@blackline.com</u></p>  <p><strong>Investor Relations Contact:</strong><br >Matt Humphries, CFA<br ><u>matt.humphries@blackline.com</u></p> <table style="width:100%; border-collapse:collapse !important;;border-collapse: collapse; "><tr><td colspan="9" style="padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>BlackLine, Inc.</strong></td></tr><tr><td colspan="9" style="padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>Condensed Consolidated Balance Sheets</strong></td></tr><tr><td colspan="9" style="padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>(in thousands)</strong></td></tr><tr><td colspan="9" style="padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>(unaudited)</strong></td></tr><tr><td colspan="9" style="padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-bottom: solid black 1pt ; padding-right: 0 ; padding-left: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>September 30, 2024</strong></td><td style="padding-right: 0 ; padding-left: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-bottom: solid black 1pt ; padding-right: 0 ; padding-left: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>December 31, 2023</strong><strong><br ></strong></td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="max-width:64%; width:64%; min-width:64%;;padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; "><strong>ASSETS</strong></td><td style="max-width:1%; width:1%; min-width:1%;;vertical-align: middle ; ">&#160;</td><td style="max-width:15%; width:15%; min-width:15%;;vertical-align: middle ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;vertical-align: middle ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;vertical-align: middle ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;vertical-align: middle ; ">&#160;</td><td style="max-width:15%; width:15%; min-width:15%;;vertical-align: middle ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;vertical-align: middle ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;vertical-align: middle ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; ">Current assets:</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; ">Cash and cash equivalents</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">725,266</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">271,117</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; ">Marketable securities</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">121,017</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">933,355</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; ">Accounts receivable, net of allowances</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">136,497</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">171,608</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; ">Prepaid expenses and other current assets</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">30,449</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">31,244</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; vertical-align: middle ; ">&#160; &#160;Total current assets</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">1,013,229</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">1,407,324</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; ">Capitalized software development costs, net</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">43,327</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">37,828</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; ">Property and equipment, net</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">10,637</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">14,867</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; ">Intangible assets, net</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">63,646</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">79,056</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; ">Goodwill</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">448,965</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">448,965</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; ">Operating lease right-of-use assets</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">23,965</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">19,173</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; ">Other assets</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">91,391</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">93,552</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; vertical-align: middle ; ">&#160; &#160;Total assets</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">1,695,160</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">2,100,765</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; "><strong>LIABILITIES, REDEEMABLE NON-CONTROLLING INTEREST, AND STOCKHOLDERS' EQUITY</strong></td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; ">Current liabilities:</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; ">Accounts payable</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">3,930</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">8,623</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; ">Accrued expenses and other current liabilities</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">68,437</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">59,690</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; ">Deferred revenue, current</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">300,989</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">320,133</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; ">Finance lease liabilities, current</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">324</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">778</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; ">Operating lease liabilities, current</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">3,657</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">4,108</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; ">Convertible senior notes, net, current</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">249,233</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; vertical-align: middle ; ">&#160; &#160;Total current liabilities</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">377,337</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">642,565</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; ">Finance lease liabilities, noncurrent</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">55</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">4</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; ">Operating lease liabilities, noncurrent</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">21,753</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">15,738</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; ">Convertible senior notes, net, noncurrent</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">891,826</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,140,608</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; ">Deferred tax liabilities, net</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">4,847</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">6,394</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; ">Deferred revenue, noncurrent</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,197</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">904</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; ">Other long-term liabilities</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">604</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">3,608</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; vertical-align: middle ; ">&#160; &#160;Total liabilities</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,297,619</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,809,821</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; ">Commitments and contingencies</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; ">Redeemable non-controlling interest</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">29,630</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">30,063</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; ">Stockholders' equity:</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; ">Common stock</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">624</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">615</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; ">Additional paid-in capital</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">479,191</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">474,863</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; ">Accumulated other comprehensive income (loss)</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(118</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">205</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; ">Accumulated deficit</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(111,786</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(214,802</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; vertical-align: middle ; ">&#160; &#160;Total stockholders' equity</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">367,911</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">260,881</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; vertical-align: middle ; ">&#160; &#160;Total liabilities, redeemable non-controlling interest, and stockholders' equity</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,695,160</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2,100,765</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td colspan="8" style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; vertical-align: middle ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr></table> <p><br ></p> <table style="width:100%; border-collapse:collapse !important;;border-collapse: collapse; "><tr><td colspan="17" style="padding-right: 0 ; padding-left: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>BlackLine, Inc. </strong></td></tr><tr><td colspan="17" style="padding-right: 0 ; padding-left: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>Condensed Consolidated Statements of Operations</strong></td></tr><tr><td colspan="17" style="padding-right: 0 ; padding-left: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>(in thousands, except per share data)</strong></td></tr><tr><td colspan="17" style="padding-right: 0 ; padding-left: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>(unaudited)</strong></td></tr><tr><td colspan="17" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="7" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>Quarter Ended</strong></td><td style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="7" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>Nine Months Ended</strong><strong><br ></strong></td><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="7" style="border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>September 30,</strong></td><td style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="7" style="border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>September 30,</strong><strong><br ></strong></td><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="max-width:52%; width:52%; min-width:52%;;vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="max-width:9%; width:9%; min-width:9%;;border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>2024</strong></td><td style="max-width:1%; width:1%; min-width:1%;;border-bottom: solid black 1pt ; padding-left: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;border-top: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:9%; width:9%; min-width:9%;;border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>2023</strong></td><td style="max-width:1%; width:1%; min-width:1%;;border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;border-bottom: solid black 1pt ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:9%; width:9%; min-width:9%;;border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>2024</strong></td><td style="max-width:1%; width:1%; min-width:1%;;border-bottom: solid black 1pt ; padding-left: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;border-top: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:9%; width:9%; min-width:9%;;border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>2023</strong></td><td style="max-width:1%; width:1%; min-width:1%;;border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; ">Revenues</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; ">Subscription and support</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">157,011</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">142,054</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">458,299</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">408,361</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; ">Professional services</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">8,898</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">8,654</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">25,577</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">25,905</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; vertical-align: middle ; ">&#160; &#160;Total revenues</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">165,909</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">150,708</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">483,876</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">434,266</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; ">Cost of revenues</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; ">Subscription and support</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">34,667</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">30,793</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">100,475</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">89,935</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; ">Professional services</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">6,439</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">6,001</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">20,076</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">19,246</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; vertical-align: middle ; ">&#160; &#160;Total cost of revenues</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">41,106</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">36,794</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">120,551</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">109,181</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; ">Gross profit</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">124,803</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">113,914</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">363,325</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">325,085</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; ">Operating expenses</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; ">Sales and marketing</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">62,219</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">61,576</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">183,578</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">186,256</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; ">Research and development</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">25,649</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">26,722</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">76,385</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">80,629</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; ">General and administrative</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">28,216</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">18,026</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">89,315</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">46,854</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; ">Restructuring costs</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">356</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">8,664</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,728</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">9,813</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; vertical-align: middle ; ">&#160; &#160;Total operating expenses</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">116,440</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">114,988</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">351,006</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">323,552</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; ">Income (loss) from operations</td><td style="padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">8,363</td><td style="padding-left: 0 ; border-bottom: solid black 1pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td class="hugin">&#160;</td><td style="padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(1,074</td><td style="padding-left: 0 ; border-bottom: solid black 1pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">12,319</td><td style="padding-left: 0 ; border-bottom: solid black 1pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,533</td><td style="padding-left: 0 ; border-bottom: solid black 1pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; ">Other income (expense)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td class="hugin">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; ">Interest income</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">10,984</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">14,030</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">40,409</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">37,237</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; ">Interest expense</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(2,677</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(1,489</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(6,235</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(4,414</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; ">Gain on extinguishment of convertible senior notes</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">65,112</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; ">Other income, net</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">8,307</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">12,541</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">99,286</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">32,823</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; ">Income before income taxes</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">16,670</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">11,467</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">111,605</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">34,356</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; ">Provision for (benefit from) income taxes</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2,101</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(2,005</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">7,307</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(451</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; ">Net income</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">14,569</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">13,472</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">104,298</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">34,807</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; ">Net income attributable to redeemable non-controlling interest</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">320</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">194</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,282</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">599</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; ">Adjustment attributable to redeemable non-controlling interest</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(2,989</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,355</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(1,741</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">3,444</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; ">Net income attributable to BlackLine, Inc.</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">17,238</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">11,923</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">104,757</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">30,764</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; ">Basic net income per share attributable to BlackLine, Inc.</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">$</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">0.28</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">$</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">0.20</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">$</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">1.69</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">$</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">0.51</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; ">Shares used to calculate basic net income per share</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">62,250</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">61,101</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">61,958</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">60,666</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; ">Diluted net income per share attributable to BlackLine, Inc.</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">$</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">0.27</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">$</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">0.19</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">$</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">0.66</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">$</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; ">0.49</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; ">Shares used to calculate diluted net income per share</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">73,970</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">72,102</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">73,131</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">71,902</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td colspan="16" style="vertical-align: middle ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr></table> <p><br ></p> <table style="width:100%; border-collapse:collapse !important;;border-collapse: collapse; "><tr><td colspan="17" style="padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>BlackLine, Inc.</strong></td></tr><tr><td colspan="17" style="padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>Condensed Consolidated Statements of Cash Flows</strong></td></tr><tr><td colspan="17" style="padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>(in thousands)</strong></td></tr><tr><td colspan="17" style="padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>(unaudited)</strong></td></tr><tr><td colspan="17" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="7" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>Quarter Ended</strong></td><td style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="7" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>Nine Months Ended</strong><strong><br ></strong></td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="7" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>September 30,</strong></td><td style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="7" style="border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>September 30,</strong><strong><br ></strong></td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="max-width:52%; width:52%; min-width:52%;;vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; ">&#160;</td><td style="max-width:9%; width:9%; min-width:9%;;border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>2024</strong></td><td style="max-width:1%; width:1%; min-width:1%;;border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;border-top: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:9%; width:9%; min-width:9%;;border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>2023</strong></td><td style="max-width:1%; width:1%; min-width:1%;;border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;border-bottom: solid black 1pt ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:9%; width:9%; min-width:9%;;border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>2024</strong></td><td style="max-width:1%; width:1%; min-width:1%;;border-bottom: solid black 1pt ; padding-left: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;border-top: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:9%; width:9%; min-width:9%;;border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>2023</strong></td><td style="max-width:1%; width:1%; min-width:1%;;border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; vertical-align: bottom ; ">Cash flows from operating activities</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; vertical-align: bottom ; ">Net income attributable to BlackLine, Inc.</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">17,238</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">11,923</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">104,757</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">30,764</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; vertical-align: bottom ; ">Net income and adjustment attributable to redeemable non-controlling<br >interest</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(2,669</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,549</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(459</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">4,043</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; vertical-align: bottom ; ">Net income</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">14,569</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">13,472</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">104,298</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">34,807</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; vertical-align: bottom ; ">Adjustments to reconcile net income to net cash provided by operating<br >activities:</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; vertical-align: bottom ; ">Depreciation and amortization</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">12,925</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">12,924</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">38,225</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">37,274</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; vertical-align: bottom ; ">Change in fair value of contingent consideration</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(11,120</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(33,549</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; vertical-align: bottom ; ">Amortization of debt issuance costs</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">958</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,396</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">3,637</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">4,137</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; vertical-align: bottom ; ">Stock-based compensation</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">22,623</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">20,079</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">63,911</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">60,465</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; vertical-align: bottom ; ">Gain on extinguishment of convertible senior notes</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(65,112</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; vertical-align: bottom ; ">Noncash lease expense</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,500</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,533</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">4,610</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">4,725</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; vertical-align: bottom ; ">Accretion of purchase discounts on marketable securities, net</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(2,854</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(9,231</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(18,115</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(24,999</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; vertical-align: bottom ; ">Net foreign currency (gains) losses</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">517</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(20</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">360</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">882</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; vertical-align: bottom ; ">Deferred income taxes</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(224</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(1,754</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(1,479</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(1,806</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; vertical-align: bottom ; ">Provision for (benefit from) credit losses</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">7</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">14</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(17</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; vertical-align: bottom ; ">Changes in operating assets and liabilities:</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; vertical-align: bottom ; ">Accounts receivable</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,770</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(256</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">35,765</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">20,445</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; vertical-align: bottom ; ">Prepaid expenses and other current assets</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">827</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,806</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">4,351</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(2,150</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; vertical-align: bottom ; ">Other assets</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">598</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">957</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2,207</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,352</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; vertical-align: bottom ; ">Accounts payable</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,087</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(3,363</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(5,456</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(9,445</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; vertical-align: bottom ; ">Accrued expenses and other current liabilities</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">14,015</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">14,414</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">3,119</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,187</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; vertical-align: bottom ; ">Deferred revenue</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(11,049</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(2,290</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(18,851</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(1,265</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; vertical-align: bottom ; ">Operating lease liabilities</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(1,159</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(1,723</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(4,400</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(5,235</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; vertical-align: bottom ; ">Lease incentive receipts</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">240</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; vertical-align: bottom ; ">Other long-term liabilities</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(191</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">200</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(42</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(2,604</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; vertical-align: middle ; vertical-align: bottom ; ">&#160; &#160; &#160; Net cash provided by operating activities</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">55,919</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">37,026</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">147,042</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">84,444</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; vertical-align: bottom ; ">Cash flows from investing activities</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; vertical-align: bottom ; ">Purchases of marketable securities</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(257,345</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(396,104</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(982,465</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; vertical-align: bottom ; ">Proceeds from maturities of marketable securities</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">310,497</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">263,000</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">901,997</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">956,300</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; vertical-align: bottom ; ">Proceeds from sales of marketable securities</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">324,098</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; vertical-align: bottom ; ">Capitalized software development costs</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(6,114</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(4,519</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(18,201</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(16,837</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; vertical-align: bottom ; ">Purchases of property and equipment</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(394</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(1,098</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(1,370</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(3,927</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; vertical-align: bottom ; ">Acquisition, net of cash acquired</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(11,367</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(11,367</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; vertical-align: middle ; vertical-align: bottom ; ">&#160; &#160; &#160; Net cash provided by (used in) investing activities</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">303,989</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(11,329</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">810,420</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(58,296</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; vertical-align: bottom ; ">Cash flows from financing activities</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; vertical-align: bottom ; ">Proceeds from issuance of convertible senior notes, net of issuance costs</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(662</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">661,979</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; vertical-align: bottom ; ">Partial repurchase of convertible senior notes</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(848,519</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; vertical-align: bottom ; ">Repayment of convertible senior notes</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(250,000</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(250,000</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; vertical-align: bottom ; ">Purchase of capped calls related to convertible senior notes</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(59,738</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; vertical-align: bottom ; ">Principal payments under finance lease obligations</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(255</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(250</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(771</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(735</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; vertical-align: bottom ; ">Proceeds from exercises of stock options</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">400</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">7,067</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">3,038</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">18,987</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; vertical-align: bottom ; ">Proceeds from employee stock purchase plan</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">4,249</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">5,291</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; vertical-align: bottom ; ">Acquisition of common stock for tax withholding obligations</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(1,220</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(722</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(13,604</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(14,144</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; vertical-align: middle ; vertical-align: bottom ; ">&#160; &#160; &#160; Net cash provided by (used in) financing activities</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(251,737</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">6,095</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(503,366</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">9,399</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; vertical-align: bottom ; ">Effect of foreign currency exchange rate changes on cash, cash equivalents,<br >and restricted cash</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">477</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(64</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">56</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(271</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; vertical-align: bottom ; ">Net increase in cash, cash equivalents, and restricted cash</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">108,648</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">31,728</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">454,152</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">35,276</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; vertical-align: bottom ; ">Cash, cash equivalents, and restricted cash, beginning of period</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">616,867</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">204,755</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">271,363</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">201,207</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; vertical-align: bottom ; ">Cash, cash equivalents, and restricted cash, end of period</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">725,515</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">236,483</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">725,515</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">236,483</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; vertical-align: bottom ; ">Reconciliation of cash, cash equivalents, and restricted cash to the<br >consolidated balance sheets</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; vertical-align: bottom ; ">Cash and cash equivalents at end of period</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">725,266</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">236,248</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">725,266</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">236,248</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; vertical-align: bottom ; ">Restricted cash included within other assets at end of period</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">249</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">235</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">249</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">235</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; vertical-align: bottom ; ">Total cash, cash equivalents, and restricted cash at end of period shown in<br >the consolidated statements of cash flows</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">725,515</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">236,483</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">725,515</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">236,483</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td colspan="16" style="vertical-align: middle ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr></table> <p><br ></p> <table style="width:100%; border-collapse:collapse !important;;border-collapse: collapse; "><tr><td colspan="17" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>BlackLine, Inc.</strong></td></tr><tr><td colspan="17" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>Reconciliations of Non-GAAP Financial Measures</strong></td></tr><tr><td colspan="17" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>(in thousands, except percentages and per share data)</strong></td></tr><tr><td colspan="17" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>(unaudited)</strong></td></tr><tr><td colspan="17" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="7" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>Quarter Ended</strong></td><td style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="7" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>Nine Months Ended</strong><strong><br ></strong></td><td style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="7" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>September 30,</strong></td><td style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="7" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>September 30,</strong><strong><br ></strong></td><td style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="max-width:52%; width:52%; min-width:52%;;vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:9%; width:9%; min-width:9%;;border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>2024</strong></td><td style="max-width:1%; width:1%; min-width:1%;;border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;border-top: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:9%; width:9%; min-width:9%;;border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>2023</strong></td><td style="max-width:1%; width:1%; min-width:1%;;border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:9%; width:9%; min-width:9%;;border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>2024</strong></td><td style="max-width:1%; width:1%; min-width:1%;;border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;border-top: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:9%; width:9%; min-width:9%;;border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>2023</strong></td><td style="max-width:1%; width:1%; min-width:1%;;border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; "><strong>Non-GAAP Gross Profit:</strong></td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Gross profit</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">124,803</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">113,914</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">363,325</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">325,085</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Amortization of acquired developed technology</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">3,360</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">3,090</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">10,127</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">9,019</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Stock-based compensation</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">3,537</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">3,249</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">9,786</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">9,319</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Transaction-related costs</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">36</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(41</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">126</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">346</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; "><strong>Total non-GAAP gross profit</strong></td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">131,736</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">120,212</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">383,364</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">343,769</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Gross margin</td><td style="border-top: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">75.2</td><td style="border-top: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">75.6</td><td style="border-top: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">75.1</td><td style="border-top: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">74.9</td><td style="border-top: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Non-GAAP gross margin</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">79.4</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">79.8</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">79.2</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">79.2</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; "><strong>Non-GAAP Operating Income:</strong></td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Operating income (loss)</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">8,363</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(1,074</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">12,319</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,533</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Amortization of intangible assets</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">5,190</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">5,140</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">15,581</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">15,359</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Stock-based compensation</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">23,357</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">20,633</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">65,959</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">61,967</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Change in fair value of contingent consideration</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(11,120</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(33,549</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Transaction-related costs</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">358</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,823</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">568</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">3,832</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Restructuring costs</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">356</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">8,664</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,728</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">9,813</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; "><strong>Total non-GAAP operating income</strong></td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">37,624</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">24,066</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">96,155</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">58,955</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">GAAP operating margin</td><td style="border-top: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">5.0</td><td style="border-top: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(0.7</td><td style="border-top: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2.5</td><td style="border-top: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.4</td><td style="border-top: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Non-GAAP operating margin</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">22.7</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">16.0</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">19.9</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">13.6</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; "><strong>Non-GAAP Net Income Attributable to BlackLine, Inc.:</strong></td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Net income attributable to BlackLine, Inc.</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">17,238</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">11,923</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">104,757</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">30,764</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Provision for (benefit from) income taxes</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">84</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(1,827</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2,403</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(1,722</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Amortization of intangible assets</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">5,190</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">5,140</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">15,581</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">15,359</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Stock-based compensation</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">23,233</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">20,503</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">65,610</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">61,607</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Amortization of debt issuance costs</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">958</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,396</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">3,637</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">4,137</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Change in fair value of contingent consideration</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(11,120</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(33,549</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Transaction-related costs</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">358</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,823</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">568</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">3,832</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Restructuring costs</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">356</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">8,664</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,728</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">9,813</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Adjustment to redeemable non-controlling interest</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(2,989</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,355</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(1,741</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">3,444</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Gain on extinguishment of convertible senior notes</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(65,112</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; "><strong>Total non-GAAP net income attributable to BlackLine, Inc.</strong></td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">44,428</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">37,857</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">127,431</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">93,685</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; "><strong>Basic non-GAAP net income attributable to BlackLine, Inc. per share:</strong></td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Basic non-GAAP net income attributable to BlackLine, Inc. per share</td><td style="border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.71</td><td style="border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.62</td><td style="border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2.06</td><td style="border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1.54</td><td style="border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Shares used to calculate basic non-GAAP net income per share</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">62,250</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">61,101</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">61,958</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">60,666</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; "><strong>Diluted non-GAAP net income attributable to BlackLine, Inc.</strong></td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Diluted non-GAAP net income attributable to BlackLine, Inc. per share</td><td style="border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.60</td><td style="border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.51</td><td style="border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1.71</td><td style="border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1.26</td><td style="border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Shares used to calculate diluted non-GAAP net income per share</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">76,861</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">74,562</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">75,721</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">74,307</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td colspan="17" style="vertical-align: bottom ; ">&#160;</td></tr><tr><td colspan="17" style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="7" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>Quarter Ended</strong></td><td style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="8" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>Nine Months Ended</strong></td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="7" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>September 30,</strong></td><td style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="7" style="border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>September 30,</strong><strong><br ></strong></td><td style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>2024</strong></td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>2023</strong></td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>2024</strong></td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>2023</strong></td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; "><strong>Non-GAAP Sales and Marketing Expense:</strong></td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Sales and marketing expense</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">62,219</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">61,576</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">183,578</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">186,256</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Amortization of intangible assets</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(1,751</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(1,705</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(5,218</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(5,040</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Stock-based compensation</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(6,745</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(6,123</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(19,168</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(18,788</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Transaction-related costs</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(163</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(96</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(184</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(287</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; "><strong>Total non-GAAP sales and marketing expense</strong></td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">53,560</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">53,652</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">159,008</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">162,141</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; "><strong>Non-GAAP Research and Development Expense:</strong></td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Research and development expense</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">25,649</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">26,722</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">76,385</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">80,629</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Stock-based compensation</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(3,605</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(3,750</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(9,955</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(11,282</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Transaction-related costs</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(151</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(746</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(216</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(2,024</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; "><strong>Total non-GAAP research and development expense</strong></td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">21,893</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">22,226</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">66,214</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">67,323</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; "><strong>Non-GAAP General and Administrative Expense:</strong></td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">General and administrative expense</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">28,216</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">18,026</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">89,315</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">46,854</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Amortization of intangible assets</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(79</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(345</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(236</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(1,300</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Stock-based compensation</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(9,470</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(7,511</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(27,050</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(22,578</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Change in fair value of contingent consideration</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">11,120</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">33,549</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Transaction-related costs</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(8</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(1,022</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(42</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(1,175</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; "><strong>Total non-GAAP general and administrative expense</strong></td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">18,659</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">20,268</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">61,987</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">55,350</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; "><strong>Total Non-GAAP Operating Expenses</strong></td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">94,112</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">96,146</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">287,209</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">284,814</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; "><strong>Free Cash Flow</strong></td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Net cash provided by operating activities</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">55,919</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">37,026</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">147,042</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">84,444</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Capitalized software development costs</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(6,114</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(4,519</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(18,201</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(16,837</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Purchases of property and equipment</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(394</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(1,098</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(1,370</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(3,927</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; "><strong>Free cash flow</strong></td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">49,411</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">31,409</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">127,471</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">63,680</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td colspan="16" style="vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr></table></p><p ></p></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>3
<FILENAME>gnw-20190101.xsd
<DESCRIPTION>XBRL SCHEMA FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" ?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:srt="http://fasb.org/srt/2023" xmlns:srt-types="http://fasb.org/srt-types/2023" xmlns:gnw="http://globenewswire.com/20190101" elementFormDefault="qualified" targetNamespace="http://globenewswire.com/20190101">
    <annotation>
      <appinfo>
	<link:roleType roleURI="http://globenewswire.com/role/Cover" id="Cover">
	  <link:definition>00000001 - 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:linkbaseRef xlink:type="simple" xlink:href="gnw-20190101_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Presentation Links" />
	<link:linkbaseRef xlink:type="simple" xlink:href="gnw-20190101_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Label Links" />
	<link:linkbaseRef xlink:type="simple" xlink:href="gnw-20190101_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Definition Links" />
      </appinfo>
    </annotation>
    <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" />
    <import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" />
    <import namespace="http://xbrl.sec.gov/dei/2023" schemaLocation="https://xbrl.sec.gov/dei/2023/dei-2023.xsd" />
    <import namespace="http://fasb.org/us-gaap/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd" />
    <import namespace="http://fasb.org/us-types/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd" />
    <import namespace="http://www.xbrl.org/dtr/type/non-numeric" schemaLocation="http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd" />
    <import namespace="http://www.xbrl.org/dtr/type/numeric" schemaLocation="http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd" />
    <import namespace="http://xbrl.sec.gov/country/2023" schemaLocation="https://xbrl.sec.gov/country/2023/country-2023.xsd" />
    <import namespace="http://fasb.org/srt/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd" />
    <import namespace="http://fasb.org/srt-types/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd" />
</schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>4
<FILENAME>gnw-20190101_def.xml
<DESCRIPTION>XBRL DEFINITION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef roleURI="http://globenewswire.com/role/Cover" xlink:href="gnw-20190101.xsd#Cover" xlink:type="simple" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" arcroleURI="http://xbrl.org/int/dim/arcrole/all" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#notAll" arcroleURI="http://xbrl.org/int/dim/arcrole/notAll" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" />
    <link:definitionLink xlink:type="extended" xlink:role="http://globenewswire.com/role/Cover" xlink:title="00000001 - Document - Cover">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaapStatementClassOfStockAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementClassOfStockAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonClassAMember" xlink:label="loc_us-gaapCommonClassAMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_us-gaapCommonClassAMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredClassAMember" xlink:label="loc_us-gaapPreferredClassAMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_us-gaapPreferredClassAMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="loc_deiDocumentType_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentType_40" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="loc_deiAmendmentFlag_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiAmendmentFlag_40" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentDescription" xlink:label="loc_deiAmendmentDescription_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiAmendmentDescription_40" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentRegistrationStatement" xlink:label="loc_deiDocumentRegistrationStatement_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentRegistrationStatement_40" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAnnualReport" xlink:label="loc_deiDocumentAnnualReport_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentAnnualReport_40" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentQuarterlyReport" xlink:label="loc_deiDocumentQuarterlyReport_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentQuarterlyReport_40" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="loc_deiDocumentTransitionReport_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentTransitionReport_40" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentShellCompanyReport" xlink:label="loc_deiDocumentShellCompanyReport_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentShellCompanyReport_40" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentShellCompanyEventDate" xlink:label="loc_deiDocumentShellCompanyEventDate_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentShellCompanyEventDate_40" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodStartDate" xlink:label="loc_deiDocumentPeriodStartDate_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentPeriodStartDate_40" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="loc_deiDocumentPeriodEndDate_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentPeriodEndDate_40" xlink:type="arc" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="loc_deiCurrentFiscalYearEndDate_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiCurrentFiscalYearEndDate_40" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="loc_deiEntityFileNumber_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityFileNumber_40" xlink:type="arc" order="12" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="loc_deiEntityRegistrantName_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityRegistrantName_40" xlink:type="arc" order="13" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="loc_deiEntityCentralIndexKey_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityCentralIndexKey_40" xlink:type="arc" order="14" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPrimarySicNumber" xlink:label="loc_deiEntityPrimarySicNumber_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityPrimarySicNumber_40" xlink:type="arc" order="15" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="loc_deiEntityTaxIdentificationNumber_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityTaxIdentificationNumber_40" xlink:type="arc" order="16" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="loc_deiEntityIncorporationStateCountryCode_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityIncorporationStateCountryCode_40" xlink:type="arc" order="17" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="loc_deiEntityAddressAddressLine1_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityAddressAddressLine1_40" xlink:type="arc" order="18" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine2" xlink:label="loc_deiEntityAddressAddressLine2_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityAddressAddressLine2_40" xlink:type="arc" order="19" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine3" xlink:label="loc_deiEntityAddressAddressLine3_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityAddressAddressLine3_40" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="loc_deiEntityAddressCityOrTown_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityAddressCityOrTown_40" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="loc_deiEntityAddressStateOrProvince_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityAddressStateOrProvince_40" xlink:type="arc" order="22" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCountry" xlink:label="loc_deiEntityAddressCountry_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityAddressCountry_40" xlink:type="arc" order="23" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="loc_deiEntityAddressPostalZipCode_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityAddressPostalZipCode_40" xlink:type="arc" order="24" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CountryRegion" xlink:label="loc_deiCountryRegion_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiCountryRegion_40" xlink:type="arc" order="25" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="loc_deiCityAreaCode_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiCityAreaCode_40" xlink:type="arc" order="26" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="loc_deiLocalPhoneNumber_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiLocalPhoneNumber_40" xlink:type="arc" order="27" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Extension" xlink:label="loc_deiExtension_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiExtension_40" xlink:type="arc" order="28" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_WrittenCommunications" xlink:label="loc_deiWrittenCommunications_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiWrittenCommunications_40" xlink:type="arc" order="29" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SolicitingMaterial" xlink:label="loc_deiSolicitingMaterial_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiSolicitingMaterial_40" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementTenderOffer" xlink:label="loc_deiPreCommencementTenderOffer_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiPreCommencementTenderOffer_40" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="loc_deiPreCommencementIssuerTenderOffer_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiPreCommencementIssuerTenderOffer_40" xlink:type="arc" order="32" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="loc_deiSecurity12bTitle_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiSecurity12bTitle_40" xlink:type="arc" order="33" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_NoTradingSymbolFlag" xlink:label="loc_deiNoTradingSymbolFlag_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiNoTradingSymbolFlag_40" xlink:type="arc" order="34" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="loc_deiTradingSymbol_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiTradingSymbol_40" xlink:type="arc" order="35" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="loc_deiSecurityExchangeName_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiSecurityExchangeName_40" xlink:type="arc" order="36" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12gTitle" xlink:label="loc_deiSecurity12gTitle_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiSecurity12gTitle_40" xlink:type="arc" order="37" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityReportingObligation" xlink:label="loc_deiSecurityReportingObligation_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiSecurityReportingObligation_40" xlink:type="arc" order="38" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AnnualInformationForm" xlink:label="loc_deiAnnualInformationForm_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiAnnualInformationForm_40" xlink:type="arc" order="39" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditedAnnualFinancialStatements" xlink:label="loc_deiAuditedAnnualFinancialStatements_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiAuditedAnnualFinancialStatements_40" xlink:type="arc" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="loc_deiEntityWellKnownSeasonedIssuer_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityWellKnownSeasonedIssuer_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityVoluntaryFilers" xlink:label="loc_deiEntityVoluntaryFilers_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityVoluntaryFilers_40" xlink:type="arc" order="42" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus" xlink:label="loc_deiEntityCurrentReportingStatus_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityCurrentReportingStatus_40" xlink:type="arc" order="43" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent" xlink:label="loc_deiEntityInteractiveDataCurrent_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityInteractiveDataCurrent_40" xlink:type="arc" order="44" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory" xlink:label="loc_deiEntityFilerCategory_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityFilerCategory_40" xlink:type="arc" order="45" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness" xlink:label="loc_deiEntitySmallBusiness_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntitySmallBusiness_40" xlink:type="arc" order="46" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="loc_deiEntityEmergingGrowthCompany_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityEmergingGrowthCompany_40" xlink:type="arc" order="47" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityExTransitionPeriod" xlink:label="loc_deiEntityExTransitionPeriod_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityExTransitionPeriod_40" xlink:type="arc" order="48" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAccountingStandard" xlink:label="loc_deiDocumentAccountingStandard_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentAccountingStandard_40" xlink:type="arc" order="49" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_OtherReportingStandardItemNumber" xlink:label="loc_deiOtherReportingStandardItemNumber_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiOtherReportingStandardItemNumber_40" xlink:type="arc" order="50" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="loc_deiEntityShellCompany_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityShellCompany_40" xlink:type="arc" order="51" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPublicFloat" xlink:label="loc_deiEntityPublicFloat_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityPublicFloat_40" xlink:type="arc" order="52" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityBankruptcyProceedingsReportingCurrent" xlink:label="loc_deiEntityBankruptcyProceedingsReportingCurrent_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityBankruptcyProceedingsReportingCurrent_40" xlink:type="arc" order="53" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="loc_deiEntityCommonStockSharesOutstanding_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityCommonStockSharesOutstanding_40" xlink:type="arc" order="54" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="loc_deiDocumentsIncorporatedByReferenceTextBlock_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentsIncorporatedByReferenceTextBlock_40" xlink:type="arc" order="55" />
    </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>5
<FILENAME>gnw-20190101_lab.xml
<DESCRIPTION>XBRL LABEL FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" roleURI="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" roleURI="http://www.xbrl.org/2009/role/netLabel" />
    <link:labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CoverAbstract" xlink:to="dei_CoverAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CoverAbstract_lbl" xml:lang="en-US">Cover [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="dei_DocumentType" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentType_lbl" xml:lang="en-US">Document Type</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentFlag_lbl" xml:lang="en-US">Amendment Flag</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentDescription" xlink:label="dei_AmendmentDescription" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentDescription" xlink:to="dei_AmendmentDescription_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentDescription_lbl" xml:lang="en-US">Amendment Description</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentRegistrationStatement" xlink:label="dei_DocumentRegistrationStatement" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentRegistrationStatement" xlink:to="dei_DocumentRegistrationStatement_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentRegistrationStatement_lbl" xml:lang="en-US">Document Registration Statement</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAnnualReport" xlink:to="dei_DocumentAnnualReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentAnnualReport_lbl" xml:lang="en-US">Document Annual Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentQuarterlyReport" xlink:to="dei_DocumentQuarterlyReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentQuarterlyReport_lbl" xml:lang="en-US">Document Quarterly Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentTransitionReport_lbl" xml:lang="en-US">Document Transition Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentShellCompanyReport" xlink:label="dei_DocumentShellCompanyReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentShellCompanyReport" xlink:to="dei_DocumentShellCompanyReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentShellCompanyReport_lbl" xml:lang="en-US">Document Shell Company Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentShellCompanyEventDate" xlink:label="dei_DocumentShellCompanyEventDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentShellCompanyEventDate" xlink:to="dei_DocumentShellCompanyEventDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentShellCompanyEventDate_lbl" xml:lang="en-US">Document Shell Company Event Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodStartDate" xlink:label="dei_DocumentPeriodStartDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodStartDate" xlink:to="dei_DocumentPeriodStartDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodStartDate_lbl" xml:lang="en-US">Document Period Start Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodEndDate_lbl" xml:lang="en-US">Document Period End Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalPeriodFocus_lbl" xml:lang="en-US">Document Fiscal Period Focus</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalYearFocus_lbl" xml:lang="en-US">Document Fiscal Year Focus</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CurrentFiscalYearEndDate_lbl" xml:lang="en-US">Current Fiscal Year End Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFileNumber_lbl" xml:lang="en-US">Entity File Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityRegistrantName_lbl" xml:lang="en-US">Entity Registrant Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCentralIndexKey_lbl" xml:lang="en-US">Entity Central Index Key</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPrimarySicNumber" xlink:label="dei_EntityPrimarySicNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityPrimarySicNumber" xlink:to="dei_EntityPrimarySicNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityPrimarySicNumber_lbl" xml:lang="en-US">Entity Primary SIC Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityTaxIdentificationNumber_lbl" xml:lang="en-US">Entity Tax Identification Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityIncorporationStateCountryCode_lbl" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine1_lbl" xml:lang="en-US">Entity Address, Address Line One</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine2" xlink:label="dei_EntityAddressAddressLine2" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine2" xlink:to="dei_EntityAddressAddressLine2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine2_lbl" xml:lang="en-US">Entity Address, Address Line Two</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine3" xlink:label="dei_EntityAddressAddressLine3" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine3" xlink:to="dei_EntityAddressAddressLine3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine3_lbl" xml:lang="en-US">Entity Address, Address Line Three</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCityOrTown_lbl" xml:lang="en-US">Entity Address, City or Town</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressStateOrProvince_lbl" xml:lang="en-US">Entity Address, State or Province</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCountry" xlink:label="dei_EntityAddressCountry" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCountry" xlink:to="dei_EntityAddressCountry_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCountry_lbl" xml:lang="en-US">Entity Address, Country</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressPostalZipCode_lbl" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CountryRegion" xlink:label="dei_CountryRegion" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CountryRegion" xlink:to="dei_CountryRegion_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CountryRegion_lbl" xml:lang="en-US">Country Region</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CityAreaCode_lbl" xml:lang="en-US">City Area Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_LocalPhoneNumber_lbl" xml:lang="en-US">Local Phone Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Extension" xlink:label="dei_Extension" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Extension" xlink:to="dei_Extension_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Extension_lbl" xml:lang="en-US">Extension</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_WrittenCommunications" xlink:label="dei_WrittenCommunications" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_WrittenCommunications" xlink:to="dei_WrittenCommunications_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_WrittenCommunications_lbl" xml:lang="en-US">Written Communications</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SolicitingMaterial" xlink:label="dei_SolicitingMaterial" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SolicitingMaterial" xlink:to="dei_SolicitingMaterial_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SolicitingMaterial_lbl" xml:lang="en-US">Soliciting Material</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementTenderOffer" xlink:label="dei_PreCommencementTenderOffer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementTenderOffer" xlink:to="dei_PreCommencementTenderOffer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_PreCommencementTenderOffer_lbl" xml:lang="en-US">Pre-commencement Tender Offer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="dei_PreCommencementIssuerTenderOffer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementIssuerTenderOffer" xlink:to="dei_PreCommencementIssuerTenderOffer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_PreCommencementIssuerTenderOffer_lbl" xml:lang="en-US">Pre-commencement Issuer Tender Offer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12bTitle_lbl" xml:lang="en-US">Title of 12(b) Security</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_NoTradingSymbolFlag" xlink:label="dei_NoTradingSymbolFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_NoTradingSymbolFlag" xlink:to="dei_NoTradingSymbolFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_NoTradingSymbolFlag_lbl" xml:lang="en-US">No Trading Symbol Flag</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_TradingSymbol_lbl" xml:lang="en-US">Trading Symbol</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityExchangeName_lbl" xml:lang="en-US">Security Exchange Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12gTitle" xlink:label="dei_Security12gTitle" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12gTitle" xlink:to="dei_Security12gTitle_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12gTitle_lbl" xml:lang="en-US">Title of 12(g) Security</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityReportingObligation" xlink:label="dei_SecurityReportingObligation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityReportingObligation" xlink:to="dei_SecurityReportingObligation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityReportingObligation_lbl" xml:lang="en-US">Security Reporting Obligation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AnnualInformationForm" xlink:label="dei_AnnualInformationForm" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AnnualInformationForm" xlink:to="dei_AnnualInformationForm_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AnnualInformationForm_lbl" xml:lang="en-US">Annual Information Form</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditedAnnualFinancialStatements" xlink:label="dei_AuditedAnnualFinancialStatements" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditedAnnualFinancialStatements" xlink:to="dei_AuditedAnnualFinancialStatements_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditedAnnualFinancialStatements_lbl" xml:lang="en-US">Audited Annual Financial Statements</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityWellKnownSeasonedIssuer" xlink:to="dei_EntityWellKnownSeasonedIssuer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityWellKnownSeasonedIssuer_lbl" xml:lang="en-US">Entity Well-known Seasoned Issuer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityVoluntaryFilers" xlink:to="dei_EntityVoluntaryFilers_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityVoluntaryFilers_lbl" xml:lang="en-US">Entity Voluntary Filers</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCurrentReportingStatus_lbl" xml:lang="en-US">Entity Current Reporting Status</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityInteractiveDataCurrent_lbl" xml:lang="en-US">Entity Interactive Data Current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFilerCategory" xlink:to="dei_EntityFilerCategory_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFilerCategory_lbl" xml:lang="en-US">Entity Filer Category</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntitySmallBusiness" xlink:to="dei_EntitySmallBusiness_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntitySmallBusiness_lbl" xml:lang="en-US">Entity Small Business</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityEmergingGrowthCompany_lbl" xml:lang="en-US">Entity Emerging Growth Company</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityExTransitionPeriod" xlink:label="dei_EntityExTransitionPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityExTransitionPeriod" xlink:to="dei_EntityExTransitionPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityExTransitionPeriod_lbl" xml:lang="en-US">Elected Not To Use the Extended Transition Period</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAccountingStandard" xlink:label="dei_DocumentAccountingStandard" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAccountingStandard" xlink:to="dei_DocumentAccountingStandard_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentAccountingStandard_lbl" xml:lang="en-US">Document Accounting Standard</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_OtherReportingStandardItemNumber" xlink:label="dei_OtherReportingStandardItemNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_OtherReportingStandardItemNumber" xlink:to="dei_OtherReportingStandardItemNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_OtherReportingStandardItemNumber_lbl" xml:lang="en-US">Other Reporting Standard Item Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityShellCompany" xlink:to="dei_EntityShellCompany_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityShellCompany_lbl" xml:lang="en-US">Entity Shell Company</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPublicFloat" xlink:label="dei_EntityPublicFloat" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityPublicFloat" xlink:to="dei_EntityPublicFloat_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityPublicFloat_lbl" xml:lang="en-US">Entity Public Float</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityBankruptcyProceedingsReportingCurrent" xlink:label="dei_EntityBankruptcyProceedingsReportingCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityBankruptcyProceedingsReportingCurrent" xlink:to="dei_EntityBankruptcyProceedingsReportingCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityBankruptcyProceedingsReportingCurrent_lbl" xml:lang="en-US">Entity Bankruptcy Proceedings, Reporting Current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCommonStockSharesOutstanding_lbl" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentsIncorporatedByReferenceTextBlock" xlink:to="dei_DocumentsIncorporatedByReferenceTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock_lbl" xml:lang="en-US">Documents Incorporated by Reference [Text Block]</link:label>
    </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>6
<FILENAME>gnw-20190101_pre.xml
<DESCRIPTION>XBRL PRESENTATION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii" standalone="no"?>
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef roleURI="http://globenewswire.com/role/Cover" xlink:href="gnw-20190101.xsd#Cover" xlink:type="simple" />
    <link:presentationLink xlink:type="extended" xlink:role="http://globenewswire.com/role/Cover" xlink:title="00000001 - Document - Cover">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract" xlink:label="loc_deiCoverAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="loc_deiDocumentType" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentType" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="loc_deiAmendmentFlag" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAmendmentFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentDescription" xlink:label="loc_deiAmendmentDescription" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAmendmentDescription" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentRegistrationStatement" xlink:label="loc_deiDocumentRegistrationStatement" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentRegistrationStatement" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAnnualReport" xlink:label="loc_deiDocumentAnnualReport" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentAnnualReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentQuarterlyReport" xlink:label="loc_deiDocumentQuarterlyReport" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentQuarterlyReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="loc_deiDocumentTransitionReport" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentTransitionReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentShellCompanyReport" xlink:label="loc_deiDocumentShellCompanyReport" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentShellCompanyReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentShellCompanyEventDate" xlink:label="loc_deiDocumentShellCompanyEventDate" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentShellCompanyEventDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodStartDate" xlink:label="loc_deiDocumentPeriodStartDate" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentPeriodStartDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="loc_deiDocumentPeriodEndDate" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentPeriodEndDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="loc_deiDocumentFiscalPeriodFocus" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentFiscalPeriodFocus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus" xlink:label="loc_deiDocumentFiscalYearFocus" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentFiscalYearFocus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="loc_deiCurrentFiscalYearEndDate" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCurrentFiscalYearEndDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="loc_deiEntityFileNumber" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityFileNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="loc_deiEntityRegistrantName" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityRegistrantName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="loc_deiEntityCentralIndexKey" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCentralIndexKey" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPrimarySicNumber" xlink:label="loc_deiEntityPrimarySicNumber" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityPrimarySicNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="loc_deiEntityTaxIdentificationNumber" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityTaxIdentificationNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="loc_deiEntityIncorporationStateCountryCode" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityIncorporationStateCountryCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="loc_deiEntityAddressAddressLine1" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine2" xlink:label="loc_deiEntityAddressAddressLine2" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine3" xlink:label="loc_deiEntityAddressAddressLine3" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine3" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="loc_deiEntityAddressCityOrTown" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressCityOrTown" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="loc_deiEntityAddressStateOrProvince" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressStateOrProvince" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCountry" xlink:label="loc_deiEntityAddressCountry" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressCountry" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="loc_deiEntityAddressPostalZipCode" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressPostalZipCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CountryRegion" xlink:label="loc_deiCountryRegion" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCountryRegion" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="loc_deiCityAreaCode" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCityAreaCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="loc_deiLocalPhoneNumber" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiLocalPhoneNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Extension" xlink:label="loc_deiExtension" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiExtension" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_WrittenCommunications" xlink:label="loc_deiWrittenCommunications" />
      <link:presentationArc order="310" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiWrittenCommunications" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SolicitingMaterial" xlink:label="loc_deiSolicitingMaterial" />
      <link:presentationArc order="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSolicitingMaterial" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementTenderOffer" xlink:label="loc_deiPreCommencementTenderOffer" />
      <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiPreCommencementTenderOffer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="loc_deiPreCommencementIssuerTenderOffer" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiPreCommencementIssuerTenderOffer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="loc_deiSecurity12bTitle" />
      <link:presentationArc order="350" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurity12bTitle" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_NoTradingSymbolFlag" xlink:label="loc_deiNoTradingSymbolFlag" />
      <link:presentationArc order="360" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiNoTradingSymbolFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="loc_deiTradingSymbol" />
      <link:presentationArc order="370" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiTradingSymbol" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="loc_deiSecurityExchangeName" />
      <link:presentationArc order="380" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurityExchangeName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12gTitle" xlink:label="loc_deiSecurity12gTitle" />
      <link:presentationArc order="390" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurity12gTitle" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityReportingObligation" xlink:label="loc_deiSecurityReportingObligation" />
      <link:presentationArc order="400" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurityReportingObligation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AnnualInformationForm" xlink:label="loc_deiAnnualInformationForm" />
      <link:presentationArc order="410" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAnnualInformationForm" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditedAnnualFinancialStatements" xlink:label="loc_deiAuditedAnnualFinancialStatements" />
      <link:presentationArc order="420" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAuditedAnnualFinancialStatements" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="loc_deiEntityWellKnownSeasonedIssuer" />
      <link:presentationArc order="430" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityWellKnownSeasonedIssuer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityVoluntaryFilers" xlink:label="loc_deiEntityVoluntaryFilers" />
      <link:presentationArc order="440" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityVoluntaryFilers" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus" xlink:label="loc_deiEntityCurrentReportingStatus" />
      <link:presentationArc order="450" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCurrentReportingStatus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent" xlink:label="loc_deiEntityInteractiveDataCurrent" />
      <link:presentationArc order="460" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityInteractiveDataCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory" xlink:label="loc_deiEntityFilerCategory" />
      <link:presentationArc order="470" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityFilerCategory" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness" xlink:label="loc_deiEntitySmallBusiness" />
      <link:presentationArc order="480" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntitySmallBusiness" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="loc_deiEntityEmergingGrowthCompany" />
      <link:presentationArc order="490" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityEmergingGrowthCompany" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityExTransitionPeriod" xlink:label="loc_deiEntityExTransitionPeriod" />
      <link:presentationArc order="500" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityExTransitionPeriod" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAccountingStandard" xlink:label="loc_deiDocumentAccountingStandard" />
      <link:presentationArc order="510" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentAccountingStandard" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_OtherReportingStandardItemNumber" xlink:label="loc_deiOtherReportingStandardItemNumber" />
      <link:presentationArc order="520" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiOtherReportingStandardItemNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="loc_deiEntityShellCompany" />
      <link:presentationArc order="530" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityShellCompany" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPublicFloat" xlink:label="loc_deiEntityPublicFloat" />
      <link:presentationArc order="540" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityPublicFloat" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityBankruptcyProceedingsReportingCurrent" xlink:label="loc_deiEntityBankruptcyProceedingsReportingCurrent" />
      <link:presentationArc order="550" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityBankruptcyProceedingsReportingCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="loc_deiEntityCommonStockSharesOutstanding" />
      <link:presentationArc order="560" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCommonStockSharesOutstanding" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="loc_deiDocumentsIncorporatedByReferenceTextBlock" />
      <link:presentationArc order="570" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentsIncorporatedByReferenceTextBlock" xlink:type="arc" />
    </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>8
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.3</span><table class="report" border="0" cellspacing="2" id="idm45766943805520">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Cover<br></strong></div></th>
<th class="th"><div>Nov. 07, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">8-K<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Nov.  07,  2024<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">001-37924<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">BLACKLINE, INC.<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001666134<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">46-3354276<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">DE<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">21300 Victory Boulevard, 12th Floor<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Woodland Hills<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">CA<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">91367<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">818<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">223-9008<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_WrittenCommunications', window );">Written Communications</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_SolicitingMaterial', window );">Soliciting Material</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_PreCommencementTenderOffer', window );">Pre-commencement Tender Offer</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_PreCommencementIssuerTenderOffer', window );">Pre-commencement Issuer Tender Offer</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common Stock, par value $0.01 per share<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">BL<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_PreCommencementIssuerTenderOffer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 13e<br> -Subsection 4c<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_PreCommencementIssuerTenderOffer</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_PreCommencementTenderOffer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 14d<br> -Subsection 2b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_PreCommencementTenderOffer</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_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SolicitingMaterial">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as soliciting material pursuant to Rule 14a-12 under the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Section 14a<br> -Number 240<br> -Subsection 12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SolicitingMaterial</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_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_WrittenCommunications">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as written communications pursuant to Rule 425 under the Securities Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br> -Section 425<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_WrittenCommunications</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>9
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( +6 9UD'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    " "U@&=9$HCN;^X    K @  $0   &1O8U!R;W!S+V-O<F4N>&ULS9+/
M2L0P$(=?17)O)^FN"J';B^))07!!\1:2V=U@\X=DI-VW-ZV[740?P&-F?OGF
M&YA61ZE#PN<4(B:RF*]&U_LL==RP U&4 %D?T*E<EX0OS5U(3E%YICU$I3_4
M'J'A_ 8<DC**%$S *BY$UK5&2YU044@GO-$+/GZF?H89#=BC0T\91"V ==/$
M>!S[%BZ "4:87/XNH%F(<_5/[-P!=DJ.V2ZI81CJ837GR@X"WIX>7^9U*^LS
M*:^Q_,I6TC'BAITGOZ[N[K</K&MXLZZ$J/CMMA&27\LU?Y]<?_A=A%TP=F?_
ML?%9L&OAUUUT7U!+ P04    " "U@&=9F5R<(Q &  "<)P  $P   'AL+W1H
M96UE+W1H96UE,2YX;6SM6EMSVC@4?N^OT'AG]FT+QC:!MK03<VEVV[29A.U.
M'X416(UL>621A'^_1S80RY8-[9)-NIL\!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X
M8-DOV]:[MR_>X%<R)!%!,!FGK_# "J5,7K5::0##.'W)$Q+#W(*+"$MX%,O6
M7.!;&B\CUNJTV]U6A&ELH1A'9&!]7BQH0-!445IO7R"TY1\S^!7+5(UEHP$3
M5T$FN8BT\OELQ?S:WCYES^DZ'3*!;C ;6"!_SF^GY$Y:B.%4PL3 :F<_5FO'
MT=)(@(+)?90%NDGVH],5"#(-.SJ=6,YV?/;$[9^,RMIT-&T:X./Q>#BVR]*+
M<!P$X%&[GL*=]&R_I$$)M*-IT&38]MJND::JC5-/T_=]W^N;:)P*C5M/TVMW
MW=..B<:MT'@-OO%/A\.NB<:KT'3K:28G_:YKI.D6:$)&X^MZ$A6UY4#3( !8
M<';6S-(#EEXI^G64&MD=N]U!7/!8[CF)$?[&Q036:=(9EC1&<IV0!0X -\31
M3%!\KT&VBN#"DM)<D-;/*;50&@B:R('U1X(AQ=RO_?67N\FD,WJ=?3K.:Y1_
M::L!I^V[F\^3_'/HY)^GD]=-0LYPO"P)\?LC6V&')VX[$W(Z'&="?,_V]I&E
M)3+/[_D*ZTX\9Q]6EK!=S\_DGHQR([O=]EA]]D]';B/7J<"S(M>41B1%G\@M
MNN01.+5)#3(3/PB=AIAJ4!P"I DQEJ&&^+3&K!'@$WVWO@C(WXV(]ZMOFCU7
MH5A)VH3X$$8:XIQSYG/1;/L'I4;1]E6\W*.76!4!EQC?-*HU+,76>)7 \:V<
M/!T3$LV4"P9!AI<D)A*I.7Y-2!/^*Z7:_IS30/"4+R3Z2I&/:;,CIW0FS>@S
M&L%&KQMUAVC2/'K^!?F<-0H<D1L= F<;LT8AA&F[\!ZO)(Z:K<(1*T(^8ADV
M&G*U%H&V<:F$8%H2QM%X3M*T$?Q9K#63/F#([,V1=<[6D0X1DEXW0CYBSHN0
M$;\>ACA*FNVB<5@$_9Y>PTG!Z(++9OVX?H;5,VPLCO='U!=*Y \FIS_I,C0'
MHYI9";V$5FJ?JH<T/J@>,@H%\;D>/N5Z> HWEL:\4*Z">P'_T=HWPJOX@L Y
M?RY]SZ7ON?0]H=*W-R-]9\'3BUO>1FY;Q/NN,=K7-"XH8U=RS<C'5*^3*=@Y
MG\#L_6@^GO'M^MDDA*^:62TC%I!+@;-!)+C\B\KP*L0)Z&1;)0G+5--E-XH2
MGD(;;NE3]4J5U^6ON2BX/%ODZ:^A=#XLS_D\7^>TS0LS0[=R2^JVE+ZU)CA*
M]+',<$X>RPP[9SR2';9WH!TU^_9==N0CI3!3ET.X&D*^ VVZG=PZ.)Z8D;D*
MTU*0;\/YZ<5X&N(YV02Y?9A7;>?8T='[Y\%1L*/O/)8=QXCRHB'NH8:8S\-#
MAWE[7YAGE<90-!1M;*PD+$:W8+C7\2P4X&1@+: '@Z]1 O)256 Q6\8#*Y"B
M?$R,1>APYY=<7^/1DN/;IF6U;J\I=QEM(E(YPFF8$V>KRMYEL<%5'<]56_*P
MOFH]M!5.S_Y9K<B?#!%.%@L22&.4%Z9*HO,94[[G*TG$53B_13.V$I<8O./F
MQW%.4[@2=K8/ C*YNSFI>F4Q9Z;RWRT,"2Q;B%D2XDU=[=7GFYRN>B)V^I=W
MP6#R_7#)1P_E.^=?]%U#KG[VW>/Z;I,[2$R<><41 71% B.5' 86%S+D4.Z2
MD 83 <V4R43P H)DIAR F/H+O?(,N2D5SJT^.7]%+(.&3E[2)1(4BK ,!2$7
M<N/O[Y-J=XS7^BR!;814,F35%\I#B<$],W)#V%0E\Z[:)@N%V^)4S;L:OB9@
M2\-Z;ITM)__;7M0]M!<]1O.CF> >LX=SFWJXPD6L_UC6'ODRWSEPVSK> U[F
M$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[M'OQ@2";_-;;I/;=X Q\U*M:I60K$3]+
M!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F 6/,,H68XWX=%FAHSU8NL.8T*;T'5
M0.4_V]0-:/8--!R1!5XQF;8VH^1."CS<_N\-L,+$CN'MB[\!4$L#!!0    (
M +6 9UDMD&T)4P0  (L0   8    >&PO=V]R:W-H965T<R]S:&5E=#$N>&UL
MG9AO;^HV%,:_BI5-TR;1Y@\4: =(0.DN:B^7E>Y6VK07)C%@U8DSVX'R[7<<
M:,+N#2=H;TJ<Y#SY^?CD.7%[.ZG>](8Q0]YCD>B^LS$FO7-='6Y83/6U3%D"
M5U92Q=3 4*U=G2I&HSPH%F[@>6TWICQQ!KW\W%P->C(S@B=LKHC.XIBJ_8@)
MN>L[OO-QXIFO-\:>< >]E*[9@ID_TKF"D5NH1#QFB>8R(8JM^L[0OQL%+1N0
MW_&5LYT^.29V*DLIW^Q@&O4=SQ(QP4)C)2C\;-F8"6&5@..?HZA3/-,&GAY_
MJ#_DDX?)+*EF8RE>>60V?:?KD(BM:";,L]Q]8L<)W5B]4 J=_R6[P[VMED/"
M3!L9'X.!(.;)X9>^'Q-Q&N"="0B. 4'.?7A03GE/#1WTE-P19>\&-7N03S6/
M!CB>V%59& 57.<29P5ANF>JY!J3L"3<\AHT.8<&9L)G<7A.OTR"!%[3^&^X"
M08$1%!A!KM?$,,A?PZ4V"A;J[RJB@T*K6L%6[YU.:<CZ#I2G9FK+G,%//_AM
M[U>$KUGP-3'UP;T,,ZA%0U[V*:N"P\.[5X\(1*N :*$J0R"(<HH'0==5%'C\
MB@K-$(Z;@N/FLF3,F>(R(I,D(E!\E7G!E?(RRNNHKI#:!5L;59PDAIL]>>""
MD5D6+ZN+&]?P//^JV;E%>3H%3^<2GF>VYK:T(6DS&E=F"M<9/0W'CT_3V:1!
MIK/Q-4+6+<BZEY"-82$5%62:1.R=/+)]%1NNY$'"VNVVW\02=EM@W5Z"]4+?
MR30"-K[B(<T-_/QRXHJM]E6S>=,*.FT$S_=*P_0N 9PFH52I5#E;@RP,O !$
M*C*6&204\BJCRF6N4;^?8) GKNY? CF,(O!"W?@X($]P'_F25)/ADH'?]#SR
ME8=&PO1&,A-L2U74('Y@-N!(4BH,O>P$/FKDWZ&/[0@2^R)W224V+O<J920H
M.-0G+H3&",M>X.-N_BUAL?9S);<\":NSBVN.AQA:V2%\W.*_19M+;>#E_I.G
MYPL25[SUF^T.QE9V#1\W^WPAA_#I>!X%%^CZ70RD;!$^[N]/,H2<S#<RP7I$
MC4@0-*]N/0\E*IN$C[O[J^+&L 02$\=9<C0\74F%"]6U>+_L#CYNZ@LI>,@-
M3];D,Y2WXE14\N JM3QE6_!Q%Y\K=A5">AB\7X<O,?@8@F_&+ZO5F?7#]>K(
M@K(A!+AE?T<VU3H#LCK &ME:P+(9!+ASOW #7T-R!4[]\_(7LF!A!O56V>AK
ME&Q]0B=>&!F^-4A*%=E2D3'RHW?M^22%V>H-52CUR8X -^X712-;?8M]O)25
MM5<C,'K".$JW#W!G_D@7F;R'&YJLV=DON!JAV7!Q/_P=8RIM/KC(YB<Q4VN;
MH]]  9HP+$]*D^J%_9]; _=D:VFWZ9^I?:(F@JU R+ON@&6KP\[W,# RS7>;
M2VE@[YH?;AB%%\'> -=74IJ/@=W %O]_&/P+4$L#!!0    ( +6 9UF?H!OP
ML0(  .(,   -    >&PO<W1Y;&5S+GAM;-U7;6O;,!#^*T(_8&YB:N*1&+9
M8;"-0O-A7Y58=@1Z\62Y<_KKI[-L)VEU9=V'L<VAR=T]NKM'=R>9KEMWDOSA
MR+DCO9*ZW="C<\W[)&D/1ZY8^\XT7'ND,E8QYU5;)VUC.2M;<%(R6=[<9(EB
M0M-BK3MUIUQ+#J;3;D-O:%*L*Z//EI0&@U_*%">/3&[HEDFQMV)8RY20IV!>
M@N%@I+'$>2I\0Q=@:9\"O @:L!SC**&-!6,2,H3O_;C\&3!IK5>%E#/!)0V&
M8MTPY[C5=UX9%@_&%Q 9Y=VI\0QKRTZ+Y2T].PP_/LG>V)+;.<V"3J9B+7D%
M=*RHC_#K3), Z)Q17B@%JXUF X?)8Q1\V .7\@%:^*VZBMU7)/3B4PEM(+#5
M2?2$1C&$"0K$OXP68E^$O?VML*01C\9][/QN]*!_[XSC]Y97HA_TOIKS8]$7
M>'36-/+T08I:*Q[V_LL)BS6;_,C16/'DL\&D'+R!6TH>N77B<&GY85FSX[V;
MIJFO<,[+?Y#SGZUSS36W3%Z2]J/_-U?Y+8R3\?1<'-&K SI;"5R$&_H5[E=Y
MYD#VG9!.Z%$[BK+D^L4Y]>$=V_L+_"J^7U_RBG72[69P0\_R%UZ*3N7SJGNH
MR[CJ+'^&^VB1S;>PSR5TR7M>;D?5UOM!)%[P6<<'')XC=\,31S"?@,41P+ \
M& /,)WAA>?ZG_:S0_00,X[:*(BO49X7Z!*\8LAT^6)ZX3^Z?^$[S/$VS#*OH
M=AMEL,7JEF7P%X^&<0,/+ ]D>ENM\6[C$_+Z'& ]?6U"L)WBDXCM%*\U(/&Z
M@4>>Q[N-Y0$/K O8[$#^>!Z8J;A/FD)7,6[8"<:1/,<0F,7XC&894IT,/O'^
M8*<D3?,\C@ 69Y"F& *G$4<P!L !0])T> \^>Q\ETWLJ.?]74_P$4$L#!!0
M   ( +6 9UF7BKL<P    !,"   +    7W)E;',O+G)E;'.=DKENPS ,0'_%
MT)XP!] AB#-E\18$^0%6H@_8$@6*19V_K]JE<9 +&7D]/!+<'FE [3BDMHNI
M&/T04FE:U;@!2+8ECVG.D4*NU"P>-8?20$3;8T.P6BP^0"X99K>]9!:G<Z17
MB%S7G:4]VR]/06^ KSI,<4)I2$LS#O#-TG\R]_,,-47E2B.56QIXT^7^=N!)
MT:$B6!::1<G3HAVE?QW']I#3Z:]C(K1Z6^CY<6A4"H[<8R6,<6*T_C6"R0_L
M?@!02P,$%     @ M8!G6:K$(A8S 0  (@(   \   !X;"]W;W)K8F]O:RYX
M;6R-4=%NPC ,_)4J'[ 6M"$-45Y VY"F#8V)]]"ZU"*)*\>%C:^?VZH:TE[V
ME-S9NMQ=%A?BTX'HE'QY%V)N:I%FGJ:QJ,';>$<-!)U4Q-Z*0CZFL6&P9:P!
MQ+MTFF6SU%L,9KD8M;:<W@(2* 0I*-D1>X1+_)UW,#ECQ ,ZE._<]'<')O$8
MT.,5RMQD)HDU75Z(\4I!K-L53,[E9C(,]L""Q1]ZUYG\M(?8,V(/'U:-Y&:6
MJ6"%'*7?Z/6M>CR#+@^H%7I")\!K*_#,U#88CIV,IDAO8O0]C.=0XIS_4R-5
M%1:PIJ+U$&3HD<%U!D.LL8DF"=9#;E9T!N[RZ .;<L@F:NJF*9ZC#GA3#O9&
M3R54&*!\4YFHO/93;#GICEYG>O\P>=0>6N=6RKV'5[+E&''\GN4/4$L#!!0
M   ( +6 9UDD'INBK0   /@!   :    >&PO7W)E;',O=V]R:V)O;VLN>&UL
M+G)E;'.UD3T.@S ,A:\2Y0 U4*E#!4Q=6"LN$ 7S(Q(2Q:X*MR^% 9 Z=&&R
MGBU_[\E.GV@4=VZ@MO,D1FL&RF3+[.\ I%NTBB[.XS!/:A>LXEF&!KS2O6H0
MDBBZ0=@S9)[NF:*<//Y#='7=:7PX_;(X\ \PO%WHJ45D*4H5&N1,PFBV-L%2
MXLM,EJ*H,AF**I9P6B#BR2!M:59]L$].M.=Y%S?W1:[-XPFNWPQP>'3^ 5!+
M P04    " "U@&=999!YDAD!  #/ P  $P   %M#;VYT96YT7U1Y<&5S72YX
M;6RMDTU.PS 0A:\295LE+BQ8H*8;8 M=< %C3QJK_I-G6M+;,T[:2J 2%85-
MK'C>O,^>EZS>CQ&PZ)WUV)0=47P4 E4'3F(=(GBNM"$Y2?R:MB)*M9-;$/?+
MY8-0P1-XJBA[E.O5,[1R;ZEXZ7D;3?!-F<!B63R-PLQJ2AFC-4H2U\7!ZQ^4
MZD2HN7/08&<B+EA0BJN$7/D=<.I[.T!*1D.QD8E>I6.5Z*U .EK >MKBRAE#
MVQH%.JB]XY8:8P*IL0,@9^O1=#%-)IXPC,^[V?S!9@K(RDT*$3FQ!'_'G2/)
MW55D(TADIJ]X(;+U[/M!3EN#OI'-X_T,:3?D@6)8YL_X>\87_QO.\1'"[K\_
ML;S63AI_YHOA/UY_ 5!+ 0(4 Q0    ( +6 9UD'04UB@0   +$    0
M          "  0    !D;V-0<F]P<R]A<' N>&UL4$L! A0#%     @ M8!G
M61*([F_N    *P(  !$              ( !KP   &1O8U!R;W!S+V-O<F4N
M>&UL4$L! A0#%     @ M8!G69E<G",0!@  G"<  !,              ( !
MS $  'AL+W1H96UE+W1H96UE,2YX;6Q02P$"% ,4    " "U@&=9+9!M"5,$
M  "+$   &               @($-"   >&PO=V]R:W-H965T<R]S:&5E=#$N
M>&UL4$L! A0#%     @ M8!G69^@&_"Q @  X@P   T              ( !
ME@P  'AL+W-T>6QE<RYX;6Q02P$"% ,4    " "U@&=9EXJ[',     3 @
M"P              @ %R#P  7W)E;',O+G)E;'-02P$"% ,4    " "U@&=9
MJL0B%C,!   B @  #P              @ %;$   >&PO=V]R:V)O;VLN>&UL
M4$L! A0#%     @ M8!G620>FZ*M    ^ $  !H              ( !NQ$
M 'AL+U]R96QS+W=O<FMB;V]K+GAM;"YR96QS4$L! A0#%     @ M8!G6660
M>9(9 0  SP,  !,              ( !H!(  %M#;VYT96YT7U1Y<&5S72YX
8;6Q02P4&      D "0 ^ @  ZA,

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>10
<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>11
<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>13
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.3</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>1</ContextCount>
  <ElementCount>22</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>0</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>3</UnitCount>
  <MyReports>
    <Report instance="f8k_110724.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>00000001 - Document - Cover</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://globenewswire.com/role/Cover</Role>
      <ShortName>Cover</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</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="8-K" isOnlyDei="true" isUsgaap="true" original="f8k_110724.htm">f8k_110724.htm</File>
    <File>gnw-20190101.xsd</File>
    <File>gnw-20190101_def.xml</File>
    <File>gnw-20190101_lab.xml</File>
    <File>gnw-20190101_pre.xml</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="22">http://xbrl.sec.gov/dei/2023</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>false</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>15
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "f8k_110724.htm": {
   "nsprefix": "gnw",
   "nsuri": "http://globenewswire.com/20190101",
   "dts": {
    "inline": {
     "local": [
      "f8k_110724.htm"
     ]
    },
    "schema": {
     "local": [
      "gnw-20190101.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd",
      "http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd",
      "https://xbrl.sec.gov/country/2023/country-2023.xsd",
      "https://xbrl.sec.gov/dei/2023/dei-2023.xsd"
     ]
    },
    "definitionLink": {
     "local": [
      "gnw-20190101_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "gnw-20190101_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "gnw-20190101_pre.xml"
     ]
    }
   },
   "keyStandard": 22,
   "keyCustom": 0,
   "axisStandard": 0,
   "axisCustom": 0,
   "memberStandard": 0,
   "memberCustom": 0,
   "hidden": {
    "total": 2,
    "http://xbrl.sec.gov/dei/2023": 2
   },
   "contextCount": 1,
   "entityCount": 1,
   "segmentCount": 0,
   "elementCount": 59,
   "unitCount": 3,
   "baseTaxonomies": {
    "http://xbrl.sec.gov/dei/2023": 22
   },
   "report": {
    "R1": {
     "role": "http://globenewswire.com/role/Cover",
     "longName": "00000001 - Document - Cover",
     "shortName": "Cover",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "Form8K",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "f8k_110724.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Form8K",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "f8k_110724.htm",
      "first": true,
      "unique": true
     }
    }
   },
   "tag": {
    "dei_AmendmentDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AmendmentDescription",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Description",
        "documentation": "Description of changes contained within amended document."
       }
      }
     },
     "auth_ref": []
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "dei_AnnualInformationForm": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AnnualInformationForm",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Annual Information Form",
        "documentation": "Boolean flag with value true on a form if it is an annual report containing an annual information form."
       }
      }
     },
     "auth_ref": [
      "r14"
     ]
    },
    "dei_AuditedAnnualFinancialStatements": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditedAnnualFinancialStatements",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Audited Annual Financial Statements",
        "documentation": "Boolean flag with value true on a form if it is an annual report containing audited financial statements."
       }
      }
     },
     "auth_ref": [
      "r14"
     ]
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CityAreaCode",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CountryRegion": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CountryRegion",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Country Region",
        "documentation": "Region code of country"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Cover [Abstract]",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Fiscal Year End Date",
        "documentation": "End date of current fiscal year in the format --MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentAccountingStandard": {
     "xbrltype": "accountingStandardItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentAccountingStandard",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Accounting Standard",
        "documentation": "The basis of accounting the registrant has used to prepare the financial statements included in this filing This can either be 'U.S. GAAP', 'International Financial Reporting Standards', or 'Other'."
       }
      }
     },
     "auth_ref": [
      "r13"
     ]
    },
    "dei_DocumentAnnualReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentAnnualReport",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Annual Report",
        "documentation": "Boolean flag that is true only for a form used as an annual report."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r13",
      "r14"
     ]
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Period Focus",
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentFiscalYearFocus": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalYearFocus",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Year Focus",
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period End Date",
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodStartDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentPeriodStartDate",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period Start Date",
        "documentation": "The start date of the period covered in the document, in YYYY-MM-DD format."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentQuarterlyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentQuarterlyReport",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Quarterly Report",
        "documentation": "Boolean flag that is true only for a form used as an quarterly report."
       }
      }
     },
     "auth_ref": [
      "r12"
     ]
    },
    "dei_DocumentRegistrationStatement": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentRegistrationStatement",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Registration Statement",
        "documentation": "Boolean flag that is true only for a form used as a registration statement."
       }
      }
     },
     "auth_ref": [
      "r0"
     ]
    },
    "dei_DocumentShellCompanyEventDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentShellCompanyEventDate",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Shell Company Event Date",
        "documentation": "Date of event requiring a shell company report."
       }
      }
     },
     "auth_ref": [
      "r13"
     ]
    },
    "dei_DocumentShellCompanyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentShellCompanyReport",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Shell Company Report",
        "documentation": "Boolean flag that is true for a Shell Company Report pursuant to section 13 or 15(d) of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r13"
     ]
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Transition Report",
        "documentation": "Boolean flag that is true only for a form used as a transition report."
       }
      }
     },
     "auth_ref": [
      "r15"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentType",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Type",
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentsIncorporatedByReferenceTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentsIncorporatedByReferenceTextBlock",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Documents Incorporated by Reference [Text Block]",
        "documentation": "Documents incorporated by reference."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line One",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine2": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine2",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line Two",
        "documentation": "Address Line 2 such as Street or Suite number"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine3": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine3",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line Three",
        "documentation": "Address Line 3 such as an Office Park"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, City or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCountry": {
     "xbrltype": "countryCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressCountry",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Country",
        "documentation": "ISO 3166-1 alpha-2 country code."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Postal Zip Code",
        "documentation": "Code for the postal or zip code"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressStateOrProvince": {
     "xbrltype": "stateOrProvinceItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, State or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityBankruptcyProceedingsReportingCurrent": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityBankruptcyProceedingsReportingCurrent",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Bankruptcy Proceedings, Reporting Current",
        "documentation": "For registrants involved in bankruptcy proceedings during the preceding five years, the value Yes indicates that the registrant has filed all documents and reports required to be filed by Section 12, 13 or 15(d) of the Securities Exchange Act of 1934 subsequent to the distribution of securities under a plan confirmed by a court; the value No indicates the registrant has not.  Registrants not involved in bankruptcy proceedings during the preceding five years should not report this element."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Central Index Key",
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Common Stock, Shares Outstanding",
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCurrentReportingStatus": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCurrentReportingStatus",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Current Reporting Status",
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "dei_EntityExTransitionPeriod": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityExTransitionPeriod",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Elected Not To Use the Extended Transition Period",
        "documentation": "Indicate if an emerging growth company has elected not to use the extended transition period for complying with any new or revised financial accounting standards."
       }
      }
     },
     "auth_ref": [
      "r19"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity File Number",
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityFilerCategory": {
     "xbrltype": "filerCategoryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFilerCategory",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Filer Category",
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Incorporation, State or Country Code",
        "documentation": "Two-character EDGAR code representing the state or country of incorporation."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityInteractiveDataCurrent": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityInteractiveDataCurrent",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Interactive Data Current",
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)."
       }
      }
     },
     "auth_ref": [
      "r16"
     ]
    },
    "dei_EntityPrimarySicNumber": {
     "xbrltype": "sicNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityPrimarySicNumber",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Primary SIC Number",
        "documentation": "Primary Standard Industrial Classification (SIC) Number for the Entity."
       }
      }
     },
     "auth_ref": [
      "r14"
     ]
    },
    "dei_EntityPublicFloat": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityPublicFloat",
     "crdr": "credit",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Public Float",
        "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Shell Company",
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Tax Identification Number",
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "dei_EntityVoluntaryFilers": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityVoluntaryFilers",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Voluntary Filers",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityWellKnownSeasonedIssuer",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Well-known Seasoned Issuer",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A."
       }
      }
     },
     "auth_ref": [
      "r17"
     ]
    },
    "dei_Extension": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Extension",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Extension",
        "documentation": "Extension number for local phone number."
       }
      }
     },
     "auth_ref": []
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "dei_NoTradingSymbolFlag": {
     "xbrltype": "trueItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "NoTradingSymbolFlag",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "No Trading Symbol Flag",
        "documentation": "Boolean flag that is true only for a security having no trading symbol."
       }
      }
     },
     "auth_ref": []
    },
    "dei_OtherReportingStandardItemNumber": {
     "xbrltype": "otherReportingStandardItemNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "OtherReportingStandardItemNumber",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Reporting Standard Item Number",
        "documentation": "\"Item 17\" or \"Item 18\" specified when the basis of accounting is neither US GAAP nor IFRS."
       }
      }
     },
     "auth_ref": [
      "r13"
     ]
    },
    "dei_PreCommencementIssuerTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "PreCommencementIssuerTenderOffer",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pre-commencement Issuer Tender Offer",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "dei_PreCommencementTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "PreCommencementTenderOffer",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pre-commencement Tender Offer",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Security12bTitle",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "dei_Security12gTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Security12gTitle",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(g) Security",
        "documentation": "Title of a 12(g) registered security."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "dei_SecurityReportingObligation": {
     "xbrltype": "securityReportingObligationItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SecurityReportingObligation",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Reporting Obligation",
        "documentation": "15(d), indicating whether the security has a reporting obligation under that section of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "dei_SolicitingMaterial": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SolicitingMaterial",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Soliciting Material",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as soliciting material pursuant to Rule 14a-12 under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "TradingSymbol",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "dei_WrittenCommunications": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "WrittenCommunications",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Written Communications",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as written communications pursuant to Rule 425 under the Securities Act."
       }
      }
     },
     "auth_ref": [
      "r18"
     ]
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12"
  },
  "r1": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r2": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r3": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-23"
  },
  "r4": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r5": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "g"
  },
  "r6": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12, 13, 15d"
  },
  "r7": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "13e",
   "Subsection": "4c"
  },
  "r8": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "14d",
   "Subsection": "2b"
  },
  "r9": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "15",
   "Subsection": "d"
  },
  "r10": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Section": "14a",
   "Number": "240",
   "Subsection": "12"
  },
  "r11": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-K",
   "Number": "249",
   "Section": "310"
  },
  "r12": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-Q",
   "Number": "240",
   "Section": "308",
   "Subsection": "a"
  },
  "r13": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Number": "249",
   "Section": "220",
   "Subsection": "f"
  },
  "r14": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Number": "249",
   "Section": "240",
   "Subsection": "f"
  },
  "r15": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r16": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r17": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "405"
  },
  "r18": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "425"
  },
  "r19": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "7A",
   "Section": "B",
   "Subsection": "2"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>16
<FILENAME>0001171843-24-006126-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001171843-24-006126-xbrl.zip
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
MC,?>A&C0X1<]<#^2,'HD5M_LX >\_?U//ID"R3YHG^1.P9[#$A,[L-$3!12
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
M_MNE!H2;1/ ?NEU^#%3SZ[/AL_Q%4[ P -USGX^2EYJN76KY)^)F _E1]9(
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
M]/6KJ29_OK@)W0?X,4XF_NO_!U!+ P04    " "U@&=9>2"5&_8,  "#.0
M#@   &8X:U\Q,3 W,C0N:'1MU1MK<]HZ]OO^"BV[W9*9 #80$FC"G9207K8M
MR4*Z]\Y^N2-L 9H8RRN+ /OK]QS)!AO,*Z6YT\ZTC:WC\W[I2+G^93[QR N3
M(1?^S7N[:+TGS'>$R_W1S?O;?JO3>?]+\R_78P5@ .J'-[FQ4D&C5)K-9L59
MI2CDJ&37Z_72'&%R!J@QSX0K6Y9=^OWKE[XS9A-:X'ZHJ.^PY4<>]Y^WX\?5
M)>A >CP%BF]B(I72!FI8=5<?)(%K);.8 E69H!<&5,6@/!35LGVYBP\#L?Q@
MO@W61IY!0O;[Q]Z7%;C*AE^!EI2D?C@4<D(5F! Q712L<J%<2R IA,Q)(8+G
MXDB\[,5S5:C8,9X-XZ0EQ>4!#9<:=]F:NF.:L !?E"LQH&3#K6AK)5B- :=A
M841IL 0>TG"@ :.%%%9X)X7'PDQHO8+@=L&R$R(Z8NHKN<CF.UI,40FEVB0
M+PU0\WK,J-N\5EQYK'D/NB57A<_7)?-\73*K ^$N2*@6'KO)#86O&L2V D6>
M^(2%I,MFI"<FU#\W+\Y)GTD^!-0N?XF_<GD8>'31(+[PV0=8X_,&XF;2_,A=
ME_GZ1P#H3B> P2$^G>"GC#?:/C"T:#&0CGH=WV7SSVR1(P[PPN:JA^9!WJ\^
MYPAW;W)\_E*PJU:N:4$TUVHUNU*]+J5P-\D:+>-6^*EJ# 0HG_I#ZJ&OK+BX
MG3#?A;_JWJ.C?=3M7/,>$:P3UL\)><%[F(1\QD+@"3VT$>K4 VB)SB>-L7:_
MD3\K@,?7+=NRB_/0S46K:A$ >R&?!![+E0!':1VI?@[%5)I'G9<:$?.:X8CY
MY1K3VEX^<A=?##F31+/&,N.TU?F<UO?ZQ\A:)OX ]"+<Y2-D1:GNJ&)-\-!J
MP88 N(R_7*VM>'6WP,8K2[)+.J64"I:HICXW^OC6OULI8\)H.)6L&:7)!BS&
M".*E)4;$L(FN/Z:@_TV,D4AZ]4B4P,3C.EJ(-E!V"E;['%5"OEJ:30SX]H[Y
M8L+]3,P'2Y5&4EH3(BU^*>7#)H2B[%&"3U*I9D+EB/L%)8(&J03J XE>#(12
M8@*IJPPOT]D)<UHAY/]CL(I?#(0$W ;%1X\ZSP2^(:'PN+M<C-&9=7NU/N.N
M&F.&M-X!F7_\S:Y9'R(NS;]!%MDJTM4O9HR/QI!B!\(#;.BA!>KQD=\@#@0.
MDTN!-'NU# DM+>"W;N>I?4?Z3[=/[?YU*3@Q86LKX7Z[]:W7>>JT^^2V>T?:
MO[=^O>U^:I/6P]>OG7Z_\]!]&VYJFIO?:#B&3E$)J$]WQ5:1E*V+:CW-00;V
M7/./]3^GYSK+>(;K^X?>U_42M2I$=\*98AUZ@MR_IP[5H [IBKY>A4XI?_GD
M\H,']=K=)])K/S[TGMZ2\N-4AE/J*Z($-#(.=IK$KA AB7V1=\^N![+4%$.B
MQ@R7IY(K#DU0>^Z,J3]BY-91!);M.I; ;5Q;)^<:*QW2[;% 2$7R\3.CD$59
MJ A[ 7Q$ZF7FGC5,7MK5!;F 8@(\CEVZ6  >YN<R7/!1%]6VJ;7[?+&<:W;%
M"YL,H)6X/"=8LT_AF$>YZ:L2:I:U<OO:U1X;\1#W+*H+*_MT [WXQR^WK<]?
M.MWV.>ET6\7=JMGPI[TI<HOKY-MS"DZ+W*/'R"77A(8D#)B#W9M+N$^X"@FX
M.3B0/#N1G10=>"S&DJR<,:_2:)Q.E5B^\]@P?I6+RO%-S@(%,\\+ ^K@8"!^
M#JCK1L] 3<:D7IA4W*%>S#1H" VJW#5>*I5WD>V/#]T-!TE$%VYWL9M5+)#B
M!76?#B_C01W?$1(B5N]W^PC=,CN\EG#W.E05L@+SZ PB=].3E)LE;#5+V"R_
M>D4TW'./P1J$_C[&+W ? 7O>RWI6>LCF_)1F6N?\B<X[T2[&T98X3(Q:KEFM
M%2J5BVKYLI8M1TG)HYSR$-M 0&M/P8KU %5*DG]"D0I=;DH91'C*J\[6-7H@
MC9:83'B((SF"EB5&)Z_%UBGVBOTB:<,F5BR Y;2^25<4SQ(:*^FLT;S^:Z%
M'@5$D4=N71?V!R&)XN,FU?P24BA\3^8TA2.CUWU-'$2<1O]]X3ZS]WG29:Y9
MMBN61?X-1A1R03Z*J<=>J'3/@3<U)O>>$/+4Y>+T,K?@QP?Y)&;^/HFOH&\7
MPO6H[Y)?.63U=>'.=W0NA^76B"<=*P_R$2"Y'L;N9JP.K2DH#:CYG.Z;*6TA
M:5SV/SPX((M?0MFJVY7:Y1M8-VH'XE""3/$H02<\@/AJSZ'75?R%D8<AA"4+
MST@>)" H@ND%=#".A1^G@CTQ=](=9WZKXM'E;B6CAZ@:=TKVU;JBS[9;]8N
M9*UE/J@B7$+[6RY7"G7+VJ#RX\RYZD+?AX#'8X$VDJ\Y/H>VSO&FV"$1Z!,H
M")"T)XH EL3V]2W-V16*W :!!^D?\OP/RF.@FD@\T_E*G4+@D1K_!]4,B=G4
M037#W$ \&L9;J%/UOZCEUI@YSP,QAVWDX74*>^#H#?>Q6B8;_'V;:R2H=[ T
M@!092([] G! !LP3,Q0<%^/3 #+D'CH(#\%;% -J+FZ.0SZ9>HKZ3$Q#;T%"
M*-7A<*&_C#X0 ^"5QFT'+B0V%U/  \KV%_':4'A '+_#M,VQM0@;AVT2=LJ[
MT1?^F(W"NVQ77/]^PEW78_OW!G@&,:"@$05V25:OWR178 3LOZ9^U""%^S)/
M!0>1]<MJ]<.!#77]\EV&OT%5-M2!7)(\"1)#DQ[T)J1:OH@LO#8HP?E(WKXD
MK?L>*5>L(@">O:X9?FO%]P4D)!#"'WV%<(&8\?9IO7HJK:](@X,;VILJMZNT
M8)<36D_-I)8ZKUI% _F3J/U1,O1U/,S2(T_,/Q*:D/WE]N)4Z@<6"DZ"A[W>
M;U?=0CD_.#O,& ;VYS1')PRG3!YAE-J?9Y0**U3SSF%&B6"W[3H3">U)%Z>W
M*=P)LJ:2,@FU.,B:6&OWBRHK2&<*J3Y^,M7T\+%91N'=5R&/'EH<5LAC7Z^_
MVW<*EVL^X04&,P%WQL2!UBU\S6SB*,;*E4,8DU2WV_W%!/KD?/BJD<EQ^KHZ
M@*UN-/[5ZF)Q7( GS<8<WJS<[= T=:P/ #PXX<8=D*QLDJC))B 6=GF@#9[,
M-)?0Z$)* !'Z2CC/YR2@DKQ0;\K(WZVB99, +S2,,\>CAI/C#?,J(2*/, Z1
ME. *CP3^%.;6RP$ZQ.8@)=9^G$;-,<>*_SJXU6W_[O9?Y),GH)I =O(@/Y&O
M5#XSM5.P5,8UQ^:8=]L .L+H^23%3(T)&#C +<3;I-^.[V)Y@>2Y@)TA[J$
M[!DBA.DYZ]H&![9+U"<LYGAD.'8BCFE(7#;DOCE9,3VS=4$V3Q97!XH5DL=3
MN\L/NF^.@;D^DPGP3 8WL:;4E0>%<@:NK%/*)5(L>ZOO$FB+1^S OT>][2VJ
M>FVK8H9N,5;C,9'#[.E2KJP=7<J;Z*(SW.$\.+7)]$2^L<L>@Y_IH ,_\X5N
M$:8ATU# 5[27QVN57+<-YHH4JEC3\A9(?,:!-!K"9S-T,<E@=P[?@?=2W\&]
M"'7TS4,$QCNM+I5N:';Q[K;^I)*GR_XDZ99%LE1\L/5:S];9=&:5JR[OYJQ=
MQTE@#^B(%0:2T>?"@('X8%#JS>@B/'28E$*,J0H')QW%)F:H$]/;>NW(8+D&
MLPE_U,0/2;EHE8NDQ\*II_0X]B%@,NIN<3!^O]1_2X _X *$:H1A4\0,:L$Q
MREW)N!X!AUP'C5%J7! 'N>8#GNND+P.<:W?H)7,H;"]<0L&9<"0MP95IR,X)
M#BH#/3DR[0GF6J6@=0%@2,4,/(UBNAOS 5>D7B_:6F-Z@A4??D6@D'TAB)87
M)M>2W=&*25[T.M+>=6A*B@FKZJ,)W-H8<T?2A,?:N)EWSY8?;\[3-J=CQYVH
M[VQ"MHV%7>9$YX\-LQW#.]Y ^D6GSIN<42^4A,B"9KZ^M^>)^W KF">LLN>C
M[^7QCH6.Y $"IGKC740/9NXU$J7A#N+FFA)SRYC-QW_4ZW9QK$ RC)OK$MW?
M:[Z.RVRBC\E()ZZ.T_4\059<'22>;55_D PMX$R21Z@>I(,]-G7T(=D=5=2<
MB^>1<1?+()912#:8X3KZ=QH(_E(#<:.+5%FCAF0RV7G/]6<HB'V(&JJF\JAC
MCET73OJ=3]W;IV^]]NZ>+'VES_1'_YUR&:76P[KD\ZS&RIUZT'[1*39#NF,V
M9T-(9@#Y%02 !6'N30W8F'I#+#6(2.>3" "+$#1/PJ"C4S46$KAWB[O//DY^
M\^GU^1*[:20/2;&<<8OM.\::U?J[K<$8!^Q>B$TDAW*SAO?0K%#Z_IL]YD9G
M8R/S[<]('Q>-;#9W%+7-([)F*2SI?3KD-F#=-R@/__=-]-Q,,/@V!%MCSH:)
M%LU<AI!OZE7).73<'^E?B5IM-%9)-W]E7YV1^-;!\DAWHZ#JC)SJ8_%WOO 7
MP-3$:_X?4$L#!!0    ( +6 9UF%)5>KL (  -4+   0    9VYW+3(P,3DP
M,3 Q+GAS9+56T6Z;,!1]WJ3]@\4[<6BT2HE(JZG5I$I9-ZVKM+?) 4.M&9O9
MIJ1_OVO "20D"K3ER5R?<^Z]YM@FO-YD'#U3I9D42R^83#U$121C)M*E]_C@
M?WFXN;OST/75IX^ACIYH1A PA%YZ3\;D"XS+LIR4LXE4*;Z83@/\^]OJH<)Y
M-7"QX4S\[8,'\_D<5[,.>H#<K!5WTC-LI]=$TZTRS+(3>":T(2+JX&.S);3!
MGW$]V8&R7NAE#64.&M,]G*;1))7/&"8 ?S%SP$+[*2'Y%IP0O:Y$FXD.6"MS
M"(3@/L@W+SG5O=!ZJD-(1;F%IERNJ:"E+IFBDTAF@ SFTV :@ 4XS:@P7Z7*
M;FE""@[%_"L(9PFCL8<,42DU]R2C.B<1/4<2_(/@"8D0TA #;FLB-I;G3"02
M A]"^XT72G+Z"XI'=O#X\^Y$ HO -Q(<["$6+[UZ:*5 N!*+:<($JS).ZR=
M/KJ546%;A&%%"?$^N"51:!I_%U?5.%=4 Z]J806!AMA CI BPJ."#^/L2NFE
M- &W5+O%<[OD)TU0M;L6U@=+3[,LYW8O5+$G19.E!W[PW2?Z YU-P"8.895/
M;*YJX?<7H\GK)(B*#E0.-C^(R)PJP\"KK1U>5\Z,I?]HI4$VC_80?H...5D/
M[1@HE+]CJRNK_Y8]@HV&]MAUWCLU>KM-TNZV.1'P[DAHWO>/C1#ZELH@<7 (
MG;H'ZAML):-*Z@3%OOF.Y]N0'USXLV"RT?&NTB%%[)9A6!&.-Z*(([=17WY]
M#&X'OAV<F_3(K78R:2\'4VZTBXPNH7T'OJ*&2F90$9W/&1N%K0064O@"+A[%
MHO.,T&;>UT3KA+EU0G#YRF+&%3*ZBH[!(ED(HUZ&>+)-<2_CC+'[D3K/$PY?
M^\'^6XU-.\*0A\G[W!CB6@V&_P%02P,$%     @ M8!G6:_O:H%1"   AV0
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
MG?JB&WJNGUPU%N^T5Z=% 5I62+T_>T<!ZN:?]6?9<?/+_,L+?>1_4$L#!!0
M   ( +6 9UEG4='PE@H  )B%   4    9VYW+3(P,3DP,3 Q7VQA8BYX;6S-
MG5UOX[@5AN\+]#\0[DT+C..) Q1(,-E%QI,4QF:3;.S9;;LH%K3$.$)DTJ#D
MQ/[W)251ED@>24E1DG.1<<3W4"_%)R3U=?SEQ_TF1:^$9PFCEZ/3D\\C1&C$
MXH2N+T??%^.KQ6P^'Z$LQS3&*:/D<D39Z,<?_ORG+VE"7R[DCQ7."!+UT.QB
MGR67H^<\WUY,)F]O;R=O9R>,KR?3SY]/)__\^781/9,-'B=4UA>1D8J2M=CB
M3L_/SR=%J9(:ROV*IVH?9Q-EIZY9E"8=^H:3++G("GNW+,)Y<3AZ=X- A?QM
MK&1CN6E\.AV?G9[LLW@DCAX2_\HCR%E*'LD3*IIYD1^VXA!GR6:;2E/%MF=.
MGNQF4LXG,GY"R1KG))8[.I<[.OV[W-%?JLVW>$72$9+*[X]SL%WGK;JJH(EK
MLP^$)RR^IA]SK4=[LK_(,<__AP8TXYTW8<ERG'[(?#/2N>T[\K$C?HQS?Z3%
MP$L^=J0;D?\7V[EI^=V'UWY<4[GQ5GQJ623[G-"8Q,JDK*)C!"[V4$P,5=UU
M[2QJU9O*T9QQL^V9J+>H,R/1R9J]3F*2B+JG9_+#6'XHFBU^^6/&Q QYM<IR
MCJ-<U50TXW)D*9_HEJ3RBBM?F$<]C:L4DXB)J6F;C]/R,);A3YQMK+NM6LTL
MA7^DJSJ^/"QB%X#1EHR3C.UX1-[5*TVWT%&J'&U2H9!+#4+'WQ>C'PH-^EVI
M_O-E<JS%04=_8]%N0VB^%#5:6M N=M7--E.JEYME072RQ9#>QTJ"I,9Q!U^)
M'<=RYS<I7EOL:^6NNMAJ2_5QJS"(3K8YTGNYUB I\M7-WT@6\60KE_-=[6C)
MG'>ZQ:31]PU-6 B8QF 2&EI/ _LC62=R:I$6Q!H[)W)CQS &Z%T/_9VV];G
M*@X"FB$.P=FB&83J*$\<75&ZP^DCV3+>A4];YIH:FTD=EJ8F*$8LQD T2BTJ
MQ9Z(^&4GSM@)3P^]4!A*UUP 5G4T-%E0=-B]@8#4<K^,+#FF62('L%Y(3*GS
MTPW K''JH>F"X@0P!Y^2U'J_I"R>29K.V&:+:?^ 8A.[I@4VK/-B*H,B!K0'
M,E-$H"HD'&RN7^7J7"R3!C:VH?<)CV&[BY]:'"Q"NL.!%!5A2,9Y(JEQ&Z*'
M(4/IFA[ JLZ-)@N*&+LWD)52C@J]?TBN:3P(D5KG!Q#-IAV/2A0@'&UG?6@(
MM4\P;I(LPFGIY49LRSJ:9]&Z!@2TJT-B"(,"!7('PE(&*&:*$*_ _(M@/@R7
MAM(/+(95.RJU+$!0=&]]F$B]%TAF.\Y;KN$9!Y8ZNRG;8[:^/POH@@"EQYQQ
MU[:4MT#Q- -=TSS)#S=)2NYVFQ7AEL:9$E=L0.84$WIY$"P IG0&2AF2.E0*
MO?2\NDM \SN\L8T0=IE; NPFVQ2T-0&18#4&T'#4(BGV0L1,C$P<IW,:D_U/
MY "VR]"Y90*PV89"$P5$A=T9@$4E1H4:";D7,!YXLL'\L$BBGJG"%+I% S+:
M9D-7!00'8 V@HU*CQ7SF<R99XOT\%J F3TGY/'@/):#>+2P]MMO, .* T.EV
M"! D@E [RB=(<QHQOF6-QQUF;"<&P,.,Q? *I2?*+52#FM!&JS,D(,"&^ 0P
M:X5^*I])08RCJ@(D:_!"W%4<BP.55?_=)I2<@NVW:MW2U6&WS91%&!!)L#N
MGTKY27U ,@;=TU"@F;ZCJ5/_T$R'0C,-&IKI1Z!9OK% H#E[1U//_$-S-A2:
MLZ"A.?L0-*+CO8XU,_'QGB_9F^WA;%#I!1G3JA68HRP\7 QO?;#( +F>D2$^
M,2D65O?\@;/7A$;PDAF2>P$&,&VE1M.&AX[=8!\_]8)8Q7D=:\I%>>\?B9+Y
M&67:)NU#3*D)#Y*VL=[!I53[1.*!93E._YUL.T_$[6(O>%@-6R%I*<-#Q6:O
M#Y@R!HD@'R?6%:[RAH;U53*MW-TKP!9;QU> &X5!0&!S9+X"7%X]*46NNUDR
MR@D&1H1VL;-.MIBJ^[A1%D87FX:,'B[^KH7&QQ^RS.Z2/CPS"C\@8$I<]31D
M3O6V7AY$CP.F]%XO9*C0>;H:+S-,9/;ANU'F;&;7[=03N2H(HG=U-\8TK<H=
M]^9O/,G%GF=LL]G1ZBZ/[;E!0.>JESMMJAZWBH+H_2YG.@F5%K7%CK%8L#2)
MDCRAZY_%R2=/L*U5-I$K(&"#B@93$00*H"V=@Z,0*:5C"!XXD1 2T1'%2X R
ML1"_?WJRSO9=8E=0]!M6<,#*("#IM:?#(@+&42,"E2&HB/&+S3S+=H2_"QY+
MB">$0/, 2(8^1)P@D[U0E8$^V5J0:"?FQ\/I=+5,\M1V<FE*G,U)@+EZ1M+*
M@V #,*6S4)0A]H1.IW]=_0VI*,?=?\>6',NDJHO#9L52(/N45>4*@@Z+B@.+
M) @48%\Z#7<,55)4:GUDIVJ9M31'*W<%@-66ZOI681"=;G-D_/&W^MK3D'^]
MCYZ%*0*\D&"7N1[Z;2;UX;^I"0*!#F/&24DE14KKXX6$XY2U[E\$K+TM M8]
MBX!UB(N ]=!%P-K;(D#MMDP1(L:E^U6:K#&0G+!3[1J*#LLZ'Q9I4*C _L Q
MHPY!QQC7&2V+%&=S^L3XIMC_C?A@:26@<Y;3LLMFG=32)@J"D2YG1EK+,NE<
M0XRDVC47NSC)25R:N4DHIE&"TSH]HNV*>'^(,UH&FJ_!Z=&'P= PDP9.99C*
M95@''E-=NKZ47CZ \1M)TY\H>Z,+@C-&25Q>2['=*>K6NWUBIL=V^Z$90!P$
M3D,< H_.R*#QBXQ"*JRZ$N:%I%]9NJ,YYL6[Y-PV,@$ZM^0 -MO$:** 2+$[
M PBIQ:A4^WE!N\P>42^RY(!G30'3+7?\NG:G:>VM;:LV(&8Z#4+O<%<Y/XYK
MXS+*TRN6.9'?%Y&\DF\XQY4WL+V0W/5+E5VF];<I;=J $.HT"+X_6<?(5#%8
M,>4M90R?B:76FG4\):ZIW">.,2R:N6-J24!XV'QU9)#A2&F]L+#8X#3]NLL2
M2C)X(M)4;EFP6FRST)($Q(+-%\!"(45*ZX6%ZPWA:S&]_8.SM_RYRL\*M@U0
MNV6CTW*;$:LT(%:Z_ ',J!!4QJB4NG[@V1\3BI=9%N&66J2.L0'-:LP8NI"
M@<P9M*0DDM=;[EB.E@Q]SPC*GPFZKKZ&KID)OJS'US>-1)%\(:)<E=,8<QM"
M76+GWSH"&C:^>\10!@%2KSWX>TCJ"*1"'%-S+QCFS?.XPL0\)QOP;8?^$%<$
M#36O..K3!T'30),Z4T58^^2Z"$0RTF<VHV9R>WB)UQ(Y7AE;#&H+XX8B"$9
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
M A0#%     @ M8!G60#:30$W20  \*<%  L              ( !     &5X
M:%\Y.3$N:'1M4$L! A0#%     @ M8!G67D@E1OV#   @SD   X
M     ( !8$D  &8X:U\Q,3 W,C0N:'1M4$L! A0#%     @ M8!G684E5ZNP
M @  U0L  !               ( !@E8  &=N=RTR,#$Y,#$P,2YX<V102P$"
M% ,4    " "U@&=9K^]J@5$(  "'9   %               @ %@60  9VYW
M+3(P,3DP,3 Q7V1E9BYX;6Q02P$"% ,4    " "U@&=99U'1\)8*  "8A0
M%               @ 'C80  9VYW+3(P,3DP,3 Q7VQA8BYX;6Q02P$"% ,4
M    " "U@&=9;,% U?<&  #V5@  %               @ &K;   9VYW+3(P
D,3DP,3 Q7W!R92YX;6Q02P4&      8 !@!Y 0  U',

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>f8k_110724_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2023"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="gnw-20190101.xsd" xlink:type="simple"/>
    <context id="Form8K">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001666134</identifier>
        </entity>
        <period>
            <startDate>2024-11-07</startDate>
            <endDate>2024-11-07</endDate>
        </period>
    </context>
    <unit id="USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Shares">
        <measure>shares</measure>
    </unit>
    <unit id="USDPShares">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <dei:EntityCentralIndexKey contextRef="Form8K" id="ixv-140">0001666134</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag contextRef="Form8K" id="ixv-141">false</dei:AmendmentFlag>
    <dei:DocumentType contextRef="Form8K" id="ixv-161">8-K</dei:DocumentType>
    <dei:DocumentPeriodEndDate contextRef="Form8K" id="ixv-162">2024-11-07</dei:DocumentPeriodEndDate>
    <dei:EntityRegistrantName contextRef="Form8K" id="ixv-163">BLACKLINE, INC.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="Form8K" id="ixv-164">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityFileNumber contextRef="Form8K" id="ixv-165">001-37924</dei:EntityFileNumber>
    <dei:EntityTaxIdentificationNumber contextRef="Form8K" id="ixv-166">46-3354276</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="Form8K" id="ixv-167">21300 Victory Boulevard, 12th Floor</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="Form8K" id="ixv-168">Woodland Hills</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="Form8K" id="ixv-169">CA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="Form8K" id="ixv-170">91367</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="Form8K" id="ixv-171">818</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="Form8K" id="ixv-172">223-9008</dei:LocalPhoneNumber>
    <dei:WrittenCommunications contextRef="Form8K" id="ixv-173">false</dei:WrittenCommunications>
    <dei:SolicitingMaterial contextRef="Form8K" id="ixv-174">false</dei:SolicitingMaterial>
    <dei:PreCommencementTenderOffer contextRef="Form8K" id="ixv-175">false</dei:PreCommencementTenderOffer>
    <dei:PreCommencementIssuerTenderOffer contextRef="Form8K" id="ixv-176">false</dei:PreCommencementIssuerTenderOffer>
    <dei:Security12bTitle contextRef="Form8K" id="ixv-177">Common Stock, par value $0.01 per share</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="Form8K" id="ixv-178">BL</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="Form8K" id="ixv-179">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityEmergingGrowthCompany contextRef="Form8K" id="ixv-180">false</dei:EntityEmergingGrowthCompany>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
