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

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			BLACKLINE, INC.
		CENTRAL INDEX KEY:			0001666134
		STANDARD INDUSTRIAL CLASSIFICATION:	SERVICES-PREPACKAGED SOFTWARE [7372]
		ORGANIZATION NAME:           	06 Technology
		EIN:				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:		251184943

	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_080525.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/2025" xmlns:us-gaap="http://fasb.org/us-gaap/2025" xmlns:us-roles="http://fasb.org/us-roles/2025" xmlns:country="http://xbrl.sec.gov/country/2025" xmlns:srt="http://fasb.org/srt/2025"><head><title>Form 8-K</title><meta content="text/html"/></head><body style="font: 10pt Times New Roman, Times, Serif"><div style="display: none;"><ix:header><ix:hidden><ix:nonNumeric format="ixt:booleanfalse" name="dei:AmendmentFlag" contextRef="Form8K" id="ixv-142">False</ix:nonNumeric><ix:nonNumeric name="dei:EntityCentralIndexKey" contextRef="Form8K" id="ixv-143">0001666134</ix:nonNumeric></ix:hidden><ix:references><link:schemaRef xlink:href="gnw-20250101.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>2025-08-05</xbrli:startDate><xbrli:endDate>2025-08-05</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="border-top: Black 2pt solid; border-bottom: Black 1pt solid; font-size: 1pt; 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-163">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-164">August 5, 2025</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-165">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-166">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-167">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-168">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-169">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-170">Woodland Hills</ix:nonNumeric>, <ix:nonNumeric format="ixt-sec:stateprovnameen" name="dei:EntityAddressStateOrProvince" contextRef="Form8K" id="ixv-171">California</ix:nonNumeric>&#160;<ix:nonNumeric name="dei:EntityAddressPostalZipCode" contextRef="Form8K" id="ixv-172">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-173">818</ix:nonNumeric>) <ix:nonNumeric name="dei:LocalPhoneNumber" contextRef="Form8K" id="ixv-174">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-175">&#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-176">&#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-177">&#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-178">&#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-179">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-180">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-181">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-182">&#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>On August 5, 2025, the Registrant issued a press release, a copy of which is attached hereto as Exhibit 99.1 and is incorporated herein by reference.</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 August 5, 2025</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="margin: 0;">&#160;</p><p style="font-size: 10pt; text-align: center; font-weight: bold; margin: 0;">SIGNATURE</p><p style="margin: 0;">&#160;</p><p style="font-size: 10pt; margin: 0;">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><p style="margin: 0;">&#160;</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: August 5, 2025</td><td style="font-size: 10pt;">By:&#160;</td><td style="text-decoration: underline; font-size: 10pt;">/s/ PATRICK VILLANOVA&#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;">Patrick Villanova</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-KAugust 5, 2025 --><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 Second Quarter Financial Results</strong></font></p><p style="text-align: center;"><strong></strong></p><p>
 <p align="justify">LOS ANGELES, Aug.  05, 2025  (GLOBE NEWSWIRE) -- <u>BlackLine, Inc</u><u>.</u> (Nasdaq: BL), today announced financial results for the second quarter ended June&#160;30, 2025.</p>  <p align="justify">&#8220;Our strong second quarter results demonstrate BlackLine's growing success, which is a direct outcome of our disciplined go-to-market execution and significant progress on the strategic initiatives we outlined last fall,&#8221; said Owen Ryan, Co-CEO of BlackLine. &#8220;Specifically, the delivery of our Studio360 platform, adoption of our new pricing strategy, sharpened industry focus, and enhanced partner network all played a key role in driving this quarter&#8217;s performance.&#8221;</p>  <p align="justify">&#8220;Innovation truly drives BlackLine, and our Studio360 platform is leading the charge in bringing new levels of clarity and control within the Office of the CFO,&#8221; said Therese Tucker, Co-CEO of BlackLine. &#8220;With significant advancements across our solutions, powered by our thoughtful approach to AI, we are empowering customers with the integrated, intelligent solutions they need to transform their operations.&#8221;</p>  <p align="justify"><strong>Second Quarter 2025 Financial Highlights</strong></p>  <ul type="disc"><li style="margin-top:6pt; text-align:justify;">Total GAAP revenues of $172.0 million, an increase of 7% compared to the second quarter of 2024.</li><li style="margin-top:6pt; text-align:justify;">GAAP operating margin of 4.4%, compared to 1.4% in the second quarter of 2024.</li><li style="margin-top:6pt; text-align:justify;">Non-GAAP operating margin of 22.1%, compared to 19.8% in the second quarter of 2024.</li><li style="margin-top:6pt; text-align:justify;">GAAP net income attributable to BlackLine of $8.3 million, or $0.13 per diluted share compared to GAAP net income attributable to BlackLine of $76.7 million, or $0.22<sup>1</sup> per diluted share in the second quarter of 2024.</li><li style="margin-top:6pt; text-align:justify;">Non-GAAP net income attributable to BlackLine of $37.9 million, or $0.51 per diluted share compared to non-GAAP net income attributable to BlackLine of $42.9 million, or $0.58 per diluted share in the second quarter of 2024.</li><li style="margin-top:6pt; text-align:justify;">Billings of $182.3 million, an increase of 11% compared to the second quarter of 2024.</li><li style="margin-top:6pt; text-align:justify;">Remaining performance obligation of $944.3 million, an increase of 11% compared to the second quarter of 2024.</li><li style="margin-top:6pt; text-align:justify;">Operating cash flow of $32.3 million, compared to $40.7 million in the second quarter of 2024.</li><li style="margin-top:6pt; text-align:justify;">Free cash flow of $25.4 million, compared to $34.4 million in the second quarter of 2024.</li><li style="margin-top:6pt; text-align:justify;">Repurchased approximately 0.8 million shares of common stock for $43.3 million as part of its share repurchase program under which approximately $111.2 million of buyback capacity remained at June&#160;30, 2025.<br ></li></ul>  <p>________________________<br ><sub><sup>1</sup> Excludes the after-tax impact of the gain on extinguishment of debt associated with the partial repurchase of the 2026 convertible senior notes.</sub><br ></p>  <p align="justify"><strong><br >Second 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,451 customers at June&#160;30, 2025.</li><li style="margin-top:6pt; text-align:justify;">BlackLine had a total of 389,559 users at June&#160;30, 2025, reflecting customer migrations to the Company&#8217;s recently implemented platform pricing model.</li><li style="margin-top:6pt; text-align:justify;">Achieved a dollar-based net revenue retention rate of 105% at June&#160;30, 2025.</li><li style="margin-top:6pt; text-align:justify;">Expanded into the U.S. public sector with the signing of the Company&#8217;s first federal agency.</li><li style="margin-top:6pt; text-align:justify;">Appointed Sam Balaji and Greg Hughes to the BlackLine Board of Directors.</li><li style="margin-top:6pt; text-align:justify;">Announced the integration of Agentic AI capabilities to accelerate future-ready financial operations.<br ><br ></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 align="justify"><strong>Financial Outlook</strong></p>  <p align="justify"><strong><u>Third Quarter 2025</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 $177 million to $179 million.</li><li style="margin-top:6pt; text-align:justify;">Non-GAAP operating margin is expected to be in the range of 20% to 21%.</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 million to $38 million, or $0.48 to $0.51 per share on 77.3 million diluted weighted average shares outstanding.<br ><br ></li></ul>  <p align="justify"><strong><u>Full Year 2025</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 $696 million to $705 million.</li><li style="margin-top:6pt; text-align:justify;">Non-GAAP operating margin is expected to be in the range of 21.5% to 22.5%.</li><li style="margin-top:6pt; text-align:justify;">Non-GAAP net income attributable to BlackLine is expected to be in the range of $159 million to $167 million, or $2.13 to $2.24 per share on 77.3 million diluted weighted average shares outstanding.<br ><br ></li></ul>  <p align="justify">Guidance for non-GAAP operating margin, non-GAAP net income attributable to BlackLine, and non-GAAP net income per share attributable to BlackLine 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 per share attributable to BlackLine 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 per share attributable to BlackLine.</p>  <p align="justify"><strong>Quarterly Conference Call </strong></p>  <p align="justify">BlackLine will hold a conference call to discuss its second quarter results at 2:00 p.m. Pacific time on Tuesday, August&#160;5, 2025. 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">BlackLine&#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 third quarter and full year of 2025, 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, 2024 filed with the Securities and Exchange Commission on February 21, 2025. Additional information will also be set forth in our Quarterly Report on Form 10-Q for the quarter ended June&#160;30, 2025. 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 August&#160;5, 2025, 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 and non-GAAP operating margin, (iv) non-GAAP net income attributable to BlackLine, Inc., (v) diluted non-GAAP net income per share attributable to BlackLine, Inc., 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 from Operations and Non-GAAP Operating Margin</em>. Non-GAAP income from operations is defined as GAAP income 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 from operations divided by GAAP revenues. BlackLine believes that presenting non-GAAP income 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 from operations between all periods presented.</p>  <p align="justify"><em>Non-GAAP Net Income Attributable to BlackLine and Diluted Non-GAAP Net Income Per Share Attributable to BlackLine, Inc. </em>Non-GAAP net income attributable to BlackLine is defined as GAAP net income attributable to BlackLine adjusted for the income tax effects of acquisitions, stock-based compensation shortfalls and windfalls, and the discrete tax impact of other non-GAAP adjustments, 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 per share attributable to BlackLine, Inc. includes the adjustment for shares resulting from the elimination of stock-based compensation. BlackLine believes that presenting non-GAAP net income 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 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 align="justify"><strong>Use of Operating Metrics </strong></p>  <p align="justify">BlackLine has provided in this release and the quarterly conference call held on August&#160;5, 2025 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 June&#160;30, 2025.</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 align="left"><strong>Media Contact:</strong><br >Samantha Darilek<br ><u>samantha.darilek@blackline.com</u></p>  <p align="left"><strong>Investor Relations Contact:</strong><br >Matt Humphries, CFA<br ><u>matt.humphries@blackline.com</u></p>  <p align="left"><u><br ></u></p> <table style="width:100%; border-collapse:collapse !important;;border-collapse: collapse; "><tr><td colspan="8" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td colspan="8" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>BlackLine, Inc.</strong></td></tr><tr><td colspan="8" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>Condensed Consolidated Balance Sheets</strong></td></tr><tr><td colspan="8" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>(in thousands)</strong></td></tr><tr><td colspan="8" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>(unaudited)</strong></td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>June 30, 2025</strong></td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>December 31, 2024</strong></td></tr><tr><td colspan="8" style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; "><strong>ASSETS</strong></td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Current assets:</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="max-width:65%; width:65%; min-width:65%;;vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Cash and cash equivalents</td><td style="max-width:1%; width:1%; min-width:1%;;padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="max-width:15%; width:15%; min-width:15%;;padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">459,141</td><td style="max-width:1%; width:1%; min-width:1%;;padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="max-width:15%; width:15%; min-width:15%;;padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">885,915</td><td style="max-width:1%; width:1%; min-width:1%;;padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Marketable securities</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">398,277</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Accounts receivable, net of allowances</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">175,021</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">178,141</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Prepaid expenses and other current assets</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; 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 ; ">23,748</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">28,348</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 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: bottom ; ">Total current assets</td><td style="border-top: solid black 1pt ; padding-left: 0 ; 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,056,187</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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,092,404</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Capitalized software development costs, net</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">47,554</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">45,448</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Property and equipment, net</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,843</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,840</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Intangible assets, net</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">52,402</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,520</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Goodwill</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">448,965</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">448,965</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Operating lease right-of-use assets</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,689</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,772</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Deferred tax assets, net</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,714</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">53,208</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Other assets</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; 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 ; ">92,335</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">90,879</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 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: bottom ; ">Total assets</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 ; ">$</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,792,689</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</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 ; ">$</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,825,036</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td colspan="8" style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; "><strong>LIABILITIES, REDEEMABLE NON-CONTROLLING INTEREST, AND STOCKHOLDERS' EQUITY</strong></td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Current liabilities:</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Accounts payable</td><td style="padding-left: 0 ; 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,520</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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,463</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Accrued expenses and other current liabilities</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">57,448</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">71,574</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Deferred revenue, current</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">341,549</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">338,615</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Finance lease liabilities, current</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">66</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Operating lease liabilities, current</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,709</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,525</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Convertible senior notes, net, current</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">229,592</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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 ; padding-right: 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: bottom ; ">Total current liabilities</td><td style="border-top: solid black 1pt ; padding-left: 0 ; 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 ; ">643,830</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">422,243</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Finance lease liabilities, noncurrent</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">53</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Operating lease liabilities, noncurrent</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,294</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,283</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Convertible senior notes, net, noncurrent</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">664,762</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">892,675</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Deferred tax liabilities, net</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,804</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,532</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Deferred revenue, noncurrent</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">796</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,390</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Other long-term liabilities</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; 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,110</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">708</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 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: bottom ; ">Total liabilities</td><td style="border-top: solid black 1pt ; padding-left: 0 ; 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,343,642</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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,341,884</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Commitments and contingencies</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Redeemable non-controlling interest</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,000</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">36,483</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Stockholders' equity:</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Common stock</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">619</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">628</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Additional paid-in capital</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">450,975</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">495,391</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Accumulated other comprehensive loss</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(166</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(361</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Accumulated deficit</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; 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 ; ">(37,381</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(48,989</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; vertical-align: bottom ; ">Total stockholders' equity</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 ; ">&#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 ; ">414,047</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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 ; ">446,669</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 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: bottom ; ">Total liabilities, redeemable non-controlling interest, and stockholders' equity</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 ; ">$</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,792,689</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</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 ; ">$</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,825,036</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 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="16" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td colspan="16" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>BlackLine, Inc. </strong></td></tr><tr><td colspan="16" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>Condensed Consolidated Statements of Operations</strong></td></tr><tr><td colspan="16" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>(in thousands, except per share data)</strong></td></tr><tr><td colspan="16" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>(unaudited)</strong></td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="7" style="padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>Quarter Ended</strong></td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="7" style="padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>Six Months Ended</strong></td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="7" style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>June 30,</strong></td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="7" style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>June 30,</strong></td></tr><tr><td style="max-width:49%; width:49%; min-width:49%;;vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:10%; width:10%; min-width:10%;;border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>2025</strong></td><td style="max-width:1%; width:1%; min-width:1%;;border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 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 ; padding-left: 0 ; padding-right: 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 ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:10%; width:10%; min-width:10%;;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 ; padding-right: 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 ; padding-right: 0 ; 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-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:10%; width:10%; min-width:10%;;border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>2025</strong></td><td style="max-width:1%; width:1%; min-width:1%;;border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 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 ; padding-left: 0 ; padding-right: 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 ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:10%; width:10%; min-width:10%;;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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Revenues</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Subscription and support</td><td style="padding-left: 0 ; 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 ; ">163,027</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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 ; ">151,787</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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 ; ">321,489</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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 ; ">301,288</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Professional services</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; 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,998</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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,719</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">17,467</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">16,679</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 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: bottom ; ">Total revenues</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 ; ">&#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 ; ">172,025</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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 ; ">160,506</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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 ; ">338,956</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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 ; ">317,967</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Cost of revenues</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Subscription and support</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,189</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,756</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">69,319</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,808</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Professional services</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; 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,433</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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,592</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">14,227</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">13,637</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 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: bottom ; ">Total cost of revenues</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 ; ">&#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 ; ">42,622</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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 ; ">40,348</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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 ; ">83,546</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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 ; ">79,445</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Gross profit</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 ; ">&#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 ; ">129,403</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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,158</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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 ; ">255,410</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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 ; ">238,522</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Operating expenses</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Sales and marketing</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">64,712</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,248</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">127,775</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">121,359</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Research and development</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,964</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,721</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">53,689</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">50,736</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">General and administrative</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,138</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">31,053</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">56,483</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,099</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Restructuring costs</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; 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,044</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">928</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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,343</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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,372</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 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: bottom ; ">Total operating expenses</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 ; ">&#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 ; ">121,858</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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 ; ">117,950</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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 ; ">244,290</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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 ; ">234,566</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Income from operations</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 ; ">&#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 ; ">7,545</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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 ; ">2,208</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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,120</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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 ; ">3,956</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Other income (expense)</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Interest income</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,555</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,065</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,447</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,425</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Interest expense</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,533</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,089</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,055</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,558</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Gain on extinguishment of convertible senior notes</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; 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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Other income, net</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 ; ">&#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,022</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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 ; ">77,088</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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,392</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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 ; ">90,979</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Income before income taxes</td><td style="border-top: solid black 1pt ; padding-left: 0 ; 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,567</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">79,296</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">23,512</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">94,935</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Provision for income taxes</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; 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,176</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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,337</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">10,847</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">5,206</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Net income</td><td style="border-top: solid black 1pt ; padding-left: 0 ; 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 ; ">7,391</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">74,959</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">12,665</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">89,729</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Net income attributable to redeemable non-controlling interest</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">660</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">524</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,057</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">962</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Adjustment attributable to redeemable non-controlling interest</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; 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,561</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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,255</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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,739</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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,248</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Net income attributable to BlackLine, Inc.</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 ; ">$</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,292</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">$</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 ; ">76,690</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">$</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,347</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">$</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 ; ">87,519</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Basic net income per share attributable to BlackLine, Inc.</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 ; ">$</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 ; ">0.13</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</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 ; ">$</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.24</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</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 ; ">$</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 ; ">0.23</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</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 ; ">$</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.42</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Shares used to calculate basic net income per share</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 ; ">&#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,143</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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,979</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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,481</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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,811</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Diluted net income per share attributable to BlackLine, Inc.</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 ; ">$</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 ; ">0.13</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">$</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 ; ">0.22</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">$</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 ; ">0.23</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">$</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 ; ">0.39</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Shares used to calculate diluted net income per share</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 ; ">&#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 ; ">64,004</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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,522</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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 ; ">64,420</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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,708</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 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="16" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td colspan="16" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>BlackLine, Inc.</strong></td></tr><tr><td colspan="16" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>Calculation of Diluted Net Income Per Share</strong></td></tr><tr><td colspan="16" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>(in thousands, except per share data)</strong></td></tr><tr><td colspan="16" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>(unaudited)</strong></td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="7" style="padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>Quarter Ended</strong></td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="7" style="padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>Six Months Ended</strong></td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="7" style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>June 30,</strong></td><td style="padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="7" style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>June 30,</strong></td></tr><tr><td style="max-width:49%; width:49%; min-width:49%;;vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:10%; width:10%; min-width:10%;;border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>2025</strong></td><td style="max-width:1%; width:1%; min-width:1%;;border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 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 ; padding-left: 0 ; padding-right: 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 ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:10%; width:10%; min-width:10%;;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 ; padding-right: 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 ; padding-right: 0 ; 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-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:10%; width:10%; min-width:10%;;border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>2025</strong></td><td style="max-width:1%; width:1%; min-width:1%;;border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 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 ; padding-left: 0 ; padding-right: 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 ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:10%; width:10%; min-width:10%;;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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; "><strong>Diluted Net Income Per Share</strong></td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Numerator:</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Net income attributable to BlackLine, Inc.</td><td style="padding-left: 0 ; 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,292</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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,690</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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 ; ">14,347</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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 ; ">87,519</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Interest expense, net of taxes</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">130</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,707</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,101</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Gain on extinguishment of convertible senior notes, net of taxes</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; 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 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(62,147</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  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 ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(62,147</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Net income attributable to BlackLine, Inc. for diluted calculation</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 ; ">$</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 ; ">8,422</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 ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</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 ; ">$</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 ; ">16,250</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</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 ; ">$</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 ; ">14,602</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 ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</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 ; ">$</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 ; ">28,473</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Denominator:</td><td colspan="3" style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Weighted average shares</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,143</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,979</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,481</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,811</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Dilutive effect of securities</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">476</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">635</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">554</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">781</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Dilutive effect of convertible senior notes</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; 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,385</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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,908</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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,385</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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 ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">10,116</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: bottom ; ">Shares used to calculate diluted net income per share</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 ; ">&#160;</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 ; ">64,004</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 ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</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 ; ">&#160;</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 ; ">72,522</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</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 ; ">&#160;</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 ; ">64,420</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 ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</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 ; ">&#160;</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 ; ">72,708</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; "><strong>Diluted net income per share attributable to BlackLine, Inc.</strong></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 ; ">$</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 ; ">0.13</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 ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">$</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 ; ">0.22</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">$</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 ; ">0.23</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 ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  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 ; ">$</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 ; ">0.39</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 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="16" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td colspan="16" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>BlackLine, Inc.</strong></td></tr><tr><td colspan="16" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>Condensed Consolidated Statements of Cash Flows</strong></td></tr><tr><td colspan="16" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>(in thousands)</strong></td></tr><tr><td colspan="16" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>(unaudited)</strong></td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="7" style="padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>Quarter Ended</strong></td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="7" style="padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>Six Months Ended</strong></td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="7" style="padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>June 30,</strong></td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="7" style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>June 30,</strong></td></tr><tr><td style="max-width:49%; width:49%; min-width:49%;;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-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:10%; width:10%; min-width:10%;;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>2025</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 ; padding-right: 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 ; padding-left: 0 ; padding-right: 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 ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:10%; width:10%; min-width:10%;;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 ; padding-right: 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 ; padding-right: 0 ; 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-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:10%; width:10%; min-width:10%;;border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>2025</strong></td><td style="max-width:1%; width:1%; min-width:1%;;border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 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 ; padding-left: 0 ; padding-right: 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 ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:10%; width:10%; min-width:10%;;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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Cash flows from operating activities</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Net income attributable to BlackLine, Inc.</td><td style="padding-left: 0 ; 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,292</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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,690</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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 ; ">14,347</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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 ; ">87,519</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Net income and adjustment attributable to redeemable non-controlling interest</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; 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 ; ">(901</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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,731</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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,682</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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,210</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Net income</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 ; ">&#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 ; ">7,391</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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 ; ">74,959</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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,665</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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 ; ">89,729</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Adjustments to reconcile net income to net cash provided by operating activities:</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Depreciation and amortization</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,475</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,652</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,973</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,300</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Amortization of debt issuance costs</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">845</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,294</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,679</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,679</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Stock-based compensation</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,657</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,726</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">43,231</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">41,288</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Gain on extinguishment of convertible senior notes</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Noncash lease expense</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,297</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,552</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,694</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,110</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Accretion of purchase discounts on marketable securities, net</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,393</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,719</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,361</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,261</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Net foreign currency (gains) losses</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">788</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(195</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">561</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(157</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Deferred income taxes</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(921</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(214</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,234</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,255</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Provision for credit losses</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">75</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Changes in operating assets and liabilities:</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Accounts receivable</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,269</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,701</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,468</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,995</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Prepaid expenses and other current assets</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,666</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,488</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,788</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,524</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Other assets</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(911</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(797</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,428</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,609</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Accounts payable</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,119</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,529</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,543</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Accrued expenses and other current liabilities</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,358</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,878</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,989</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,896</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Deferred revenue</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,272</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,028</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,248</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,802</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Operating lease liabilities</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,729</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,531</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,239</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,241</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Lease incentive receipts</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Other long-term liabilities</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; 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,397</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">134</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">5,397</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">149</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 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: bottom ; ">Net cash provided by operating activities</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 ; ">&#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,345</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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 ; ">40,698</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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 ; ">79,087</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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 ; ">91,123</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Cash flows from investing activities</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Purchases of marketable securities</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(92,017</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(101,143</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(476,940</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Proceeds from maturities of marketable securities</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,000</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">268,800</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,000</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">591,500</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Proceeds from sales of marketable securities</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Capitalized software development costs</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,994</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,637</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,161</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,087</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Purchases of property and equipment</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(966</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(677</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,917</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(976</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; vertical-align: bottom ; ">Net cash provided by (used in) investing activities</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 ; ">&#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,977</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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 ; ">485,441</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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 ; ">(414,018</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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 ; ">506,431</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Cash flows from financing activities</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Proceeds from issuance of convertible senior notes, net of issuance costs</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,641</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,641</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Partial repurchase of convertible senior notes</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Purchase of capped calls related to convertible senior notes</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Principal payments under finance lease obligations</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(258</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(516</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Repurchases of common stock</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(43,332</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(88,783</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Proceeds from exercises of stock options</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,882</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,324</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,018</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,638</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Proceeds from employee stock purchase plan</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,592</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,592</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Acquisition of common stock for tax withholding obligations</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,052</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,403</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,991</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,384</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; vertical-align: bottom ; ">Net cash used in financing activities</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 ; ">&#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,913</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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 ; ">(240,704</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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 ; ">(92,224</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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,629</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Effect of foreign currency exchange rate changes on cash, cash equivalents, and restricted cash</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 ; ">&#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 ; ">170</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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 ; ">(209</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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 ; ">410</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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 ; ">(421</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Net increase (decrease) in cash, cash equivalents, and restricted cash</td><td style="border-top: solid black 1pt ; padding-left: 0 ; 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 ; ">(20,375</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">285,226</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(426,745</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">345,504</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Cash, cash equivalents, and restricted cash, beginning of period</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; 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 ; ">479,777</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">331,641</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">886,147</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  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-left: 0 ; 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 ; ">459,402</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</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 ; ">$</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 ; ">616,867</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</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 ; ">$</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 ; ">459,402</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</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 ; ">$</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 ; ">616,867</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Reconciliation of cash, cash equivalents, and restricted cash to the condensed consolidated balance sheets</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="7" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Cash and cash equivalents at end of period</td><td style="padding-left: 0 ; 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 ; ">459,141</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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 ; ">616,629</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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 ; ">459,141</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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 ; ">616,629</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  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-left: 0 ; 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 ; ">261</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">238</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">261</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">238</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Total cash, cash equivalents, and restricted cash at end of period shown in the condensed consolidated statements of cash flows</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 ; ">$</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 ; ">459,402</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</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 ; ">$</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 ; ">616,867</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</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 ; ">$</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 ; ">459,402</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</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 ; ">$</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 ; ">616,867</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 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="16" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td colspan="16" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>BlackLine, Inc.</strong></td></tr><tr><td colspan="16" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>Reconciliations of Non-GAAP Financial Measures</strong></td></tr><tr><td colspan="16" 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="16" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>(unaudited)</strong></td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="7" style="padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>Quarter Ended</strong></td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="7" style="padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>Six Months Ended</strong></td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="7" style="padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>June 30,</strong></td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="7" style="padding-left: 0 ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>June 30,</strong></td></tr><tr><td style="max-width:49%; width:49%; min-width:49%;;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-left: 0 ; padding-right: 0 ; text-align: right ;  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>2025</strong></td><td style="max-width:2%; width:2%; min-width:2%;;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 ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;border-top: solid black 1pt ; padding-left: 0 ; padding-right: 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 ; border-bottom: solid black 1pt ; padding-left: 0 ; 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:2%; width:2%; min-width:2%;;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 ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;padding-left: 0 ; padding-right: 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 ; border-bottom: solid black 1pt ; padding-left: 0 ; 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>2025</strong></td><td style="max-width:2%; width:2%; min-width:2%;;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 ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;border-top: solid black 1pt ; padding-left: 0 ; padding-right: 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 ; border-bottom: solid black 1pt ; padding-left: 0 ; 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:2%; width:2%; min-width:2%;;border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; "><strong>Non-GAAP Gross Profit:</strong></td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Gross profit</td><td style="padding-left: 0 ; 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 ; ">129,403</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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 ; ">120,158</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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 ; ">255,410</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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 ; ">238,522</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Amortization of acquired developed technology</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,207</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,383</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,380</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,767</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Stock-based compensation</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,535</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,653</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,181</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,249</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Transaction-related costs</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; 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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">38</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">90</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; "><strong>Total non-GAAP gross profit</strong></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 ; ">$</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 ; ">137,145</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</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 ; ">$</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,232</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</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 ; ">$</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 ; ">269,979</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</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 ; ">$</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 ; ">251,628</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Gross margin</td><td style="border-top: double black 3pt ; padding-left: 0 ; 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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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.4</td><td style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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.0</td><td style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Non-GAAP gross margin</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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.7</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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.3</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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.7</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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.1</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; "><strong>Non-GAAP Operating Income:</strong></td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Operating income</td><td style="padding-left: 0 ; 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 ; ">7,545</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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 ; ">2,208</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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,120</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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,956</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Amortization of intangible assets</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,468</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,195</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,118</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,391</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Stock-based compensation</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,571</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,406</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">44,990</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,602</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Transaction-related costs (credits)</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">128</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,138</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">210</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Restructuring and legal settlement costs</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; 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,295</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">928</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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,594</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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,372</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; "><strong>Total non-GAAP operating income</strong></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 ; ">$</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 ; ">38,007</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</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 ; ">$</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,731</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</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 ; ">$</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 ; ">72,960</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</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 ; ">$</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,531</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">GAAP operating margin</td><td style="border-top: double black 3pt ; padding-left: 0 ; 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 ; ">4.4</td><td style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1.4</td><td style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">3.3</td><td style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1.2</td><td style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Non-GAAP operating margin</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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.1</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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.8</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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.5</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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.4</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">%</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; "><strong>Non-GAAP Net Income Attributable to BlackLine, Inc.:</strong></td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Net income attributable to BlackLine, Inc.</td><td style="padding-left: 0 ; 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,292</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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,690</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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 ; ">14,347</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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 ; ">87,519</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Provision for (benefit from) income taxes</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,902</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(666</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,319</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Amortization of intangible assets</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,468</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,195</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,118</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,391</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Stock-based compensation</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,447</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,292</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">44,755</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,377</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Amortization of debt issuance costs</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">845</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,294</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,679</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,679</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Transaction-related costs (credits)</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">128</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,138</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">210</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Restructuring and legal settlement costs</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,295</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">928</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,594</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,372</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Adjustment to redeemable non-controlling interest</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,561</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,255</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,739</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,248</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Gain on extinguishment of convertible senior notes</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; 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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td></tr><tr><td style="text-align: left ;  vertical-align: middle; 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-left: 0 ; 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,902</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</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 ; ">$</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 ; ">42,928</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</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 ; ">$</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 ; ">74,226</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</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 ; ">$</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 ; ">83,003</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; "><strong>Basic Non-GAAP Net Income Per Share Attributable to BlackLine, Inc.:</strong></td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Basic non-GAAP net income per share attributable to BlackLine, Inc.</td><td style="border-bottom: double black 3pt ; padding-left: 0 ; 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.61</td><td style="border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: double black 3pt ; padding-left: 0 ; 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.69</td><td style="border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: double black 3pt ; padding-left: 0 ; 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.19</td><td style="border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: double black 3pt ; padding-left: 0 ; 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.34</td><td style="border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; 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-left: 0 ; 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,143</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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,979</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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,481</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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,811</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; "><strong>Diluted Non-GAAP Net Income Per Share Attributable to BlackLine, Inc.</strong></td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Numerator:</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Non-GAAP net income attributable to BlackLine, Inc.</td><td style="padding-left: 0 ; 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,902</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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 ; ">42,928</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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 ; ">74,226</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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 ; ">83,003</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Interest expense, net of taxes</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; 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,451</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">699</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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,923</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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 ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">773</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Non-GAAP net income attributable to BlackLine, Inc. for diluted calculation</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 ; ">$</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 ; ">39,353</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</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 ; ">$</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 ; ">43,627</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</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 ; ">$</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 ; ">77,149</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</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 ; ">$</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 ; ">83,776</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">Denominator:</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Weighted average shares</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,143</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,979</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,481</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,811</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Dilutive effect of securities</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,524</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,672</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,218</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Dilutive effect of convertible senior notes</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; 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,243</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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,908</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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,243</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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 ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">10,116</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Shares used to calculate diluted non-GAAP net income per share</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 ; ">&#160;</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 ; ">77,737</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</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 ; ">&#160;</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 ; ">75,411</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</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 ; ">&#160;</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 ; ">77,396</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</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 ; ">&#160;</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 ; ">75,145</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; "><strong>Diluted non-GAAP net income per share attributable to BlackLine, Inc.</strong></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 ; ">$</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 ; ">0.51</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">$</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 ; ">0.58</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">$</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 ; ">1.00</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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 ; ">$</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 ; ">1.11</td><td style="border-top: double black 3pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; "><strong>Non-GAAP Sales and Marketing Expense:</strong></td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Sales and marketing expense</td><td style="padding-left: 0 ; 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 ; ">64,712</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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 ; ">60,248</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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 ; ">127,775</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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 ; ">121,359</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Amortization of intangible assets</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,734</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(581</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,467</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Stock-based compensation</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,900</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,629</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,944</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,423</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Transaction-related costs</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; 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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(54</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(10</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(21</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td></tr><tr><td style="text-align: left ;  vertical-align: middle; 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-left: 0 ; 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 ; ">57,629</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">$</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 ; ">51,831</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">$</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,240</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">$</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 ; ">105,448</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; "><strong>Non-GAAP Research and Development Expense:</strong></td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Research and development expense</td><td style="padding-left: 0 ; 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 ; ">27,964</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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,721</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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 ; ">53,689</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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 ; ">50,736</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Stock-based compensation</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,451</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,499</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,801</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,350</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Transaction-related credits (costs)</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; 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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">106</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(21</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">&#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</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td></tr><tr><td style="text-align: left ;  vertical-align: middle; 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-left: 0 ; 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 ; ">23,513</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">$</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,328</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">$</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 ; ">45,867</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">$</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 ; ">44,321</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; "><strong>Non-GAAP General and Administrative Expense:</strong></td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">General and administrative expense</td><td style="padding-left: 0 ; 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,138</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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 ; ">31,053</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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 ; ">56,483</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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,099</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Amortization of intangible assets</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(78</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(78</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(157</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(157</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Stock-based compensation</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,685</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,625</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,064</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,580</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Transaction-related costs</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(128</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,099</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Restructuring and legal settlement costs</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(251</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(251</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; 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-left: 0 ; 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 ; ">17,996</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">$</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,342</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">$</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,912</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; 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 ; ">$</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 ; ">43,328</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; "><strong>Total Non-GAAP Operating Expenses</strong></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 ; ">$</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 ; ">99,138</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</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 ; ">$</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 ; ">95,501</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</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 ; ">$</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 ; ">197,019</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</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 ; ">$</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 ; ">193,097</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; "><strong>Free Cash Flow</strong></td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Net cash provided by operating activities</td><td style="padding-left: 0 ; 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 ; ">32,345</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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 ; ">40,698</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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 ; ">79,087</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; 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 ; ">91,123</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Capitalized software development costs</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,994</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,637</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,161</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,087</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Purchases of property and equipment</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(966</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(677</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-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,917</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(976</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td></tr><tr><td style="text-align: left ;  vertical-align: middle; vertical-align: bottom ; "><strong>Free cash flow</strong></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 ; ">$</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 ; ">25,385</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</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 ; ">$</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 ; ">34,384</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</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 ; ">$</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,009</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; vertical-align: bottom ; ">&#160;</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 ; ">$</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 ; ">78,060</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 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-20250101.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/2025" xmlns:us-gaap="http://fasb.org/us-gaap/2025" xmlns:srt="http://fasb.org/srt/2025" xmlns:srt-types="http://fasb.org/srt-types/2025" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:gnw="http://globenewswire.com/20250101" elementFormDefault="qualified" targetNamespace="http://globenewswire.com/20250101">
    <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-20250101_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-20250101_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-20250101_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/2025" schemaLocation="https://xbrl.sec.gov/dei/2025/dei-2025.xsd" />
    <import namespace="http://fasb.org/us-gaap/2025" schemaLocation="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd" />
    <import namespace="http://fasb.org/us-types/2025" schemaLocation="https://xbrl.fasb.org/us-gaap/2025/elts/us-types-2025.xsd" />
    <import namespace="http://www.xbrl.org/dtr/type/2022-03-31" schemaLocation="https://www.xbrl.org/dtr/type/2022-03-31/types.xsd" />
    <import namespace="http://xbrl.sec.gov/country/2025" schemaLocation="https://xbrl.sec.gov/country/2025/country-2025.xsd" />
    <import namespace="http://fasb.org/srt/2025" schemaLocation="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd" />
    <import namespace="http://fasb.org/srt-types/2025" schemaLocation="https://xbrl.fasb.org/srt/2025/elts/srt-types-2025.xsd" />
    <element id="gnw_ClassCommonStock.01ParValueMember" name="ClassCommonStock.01ParValueMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="gnw_ClassBCommonStock.01ParValueMember" name="ClassBCommonStock.01ParValueMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
</schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>4
<FILENAME>gnw-20250101_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-20250101.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/2025/elts/us-gaap-2025.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.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/2025/elts/us-gaap-2025.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/2025/elts/us-gaap-2025.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/2025/elts/us-gaap-2025.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="gnw-20250101.xsd#gnw_ClassCommonStock.01ParValueMember" xlink:label="loc_gnwClassCommonStock.01ParValueMember_10" />
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_gnwClassCommonStock.01ParValueMember_10" xlink:type="arc" order="11" />
    <link:loc xlink:type="locator" xlink:href="gnw-20250101.xsd#gnw_ClassBCommonStock.01ParValueMember" xlink:label="loc_gnwClassBCommonStock.01ParValueMember_20" />
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_gnwClassBCommonStock.01ParValueMember_20" xlink:type="arc" order="21" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="loc_deiDocumentFiscalPeriodFocus_40" />
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentFiscalPeriodFocus_40" xlink:type="arc" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentFiscalYearFocus" xlink:label="loc_deiDocumentFiscalYearFocus_40" />
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentFiscalYearFocus_40" xlink:type="arc" order="12" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="13" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="14" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="15" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="16" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="17" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="18" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="19" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="21" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="22" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="23" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="24" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="25" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="26" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="27" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="28" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="29" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="31" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="32" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="33" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="34" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="35" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="36" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="37" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="38" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="39" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="40" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="41" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="42" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="43" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="44" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="45" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="46" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="47" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="48" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="49" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="50" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="51" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="52" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="53" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="54" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="55" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="56" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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="57" />
  </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>5
<FILENAME>gnw-20250101_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.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_StatementClassOfStockAxis_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementClassOfStockAxis_lbl" xml:lang="en-US">Class of Stock [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="gnw-20250101.xsd#gnw_ClassCommonStock.01ParValueMember" xlink:label="gnw_ClassCommonStock.01ParValueMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnw_ClassCommonStock.01ParValueMember" xlink:to="gnw_ClassCommonStock.01ParValueMember_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="gnw_ClassCommonStock.01ParValueMember_lbl" xml:lang="en-US">Class A Common Stock, $.01 par value</link:label>
    <link:loc xlink:type="locator" xlink:href="gnw-20250101.xsd#gnw_ClassBCommonStock.01ParValueMember" xlink:label="gnw_ClassBCommonStock.01ParValueMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="gnw_ClassBCommonStock.01ParValueMember" xlink:to="gnw_ClassBCommonStock.01ParValueMember_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="gnw_ClassBCommonStock.01ParValueMember_lbl" xml:lang="en-US">Class B Common Stock, $.01 par value</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementTable_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementTable_lbl" xml:lang="en-US">Statement [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementLineItems_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementLineItems_lbl" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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/2025/dei-2025.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-20250101_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-20250101.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/2025/dei-2025.xsd#dei_CoverAbstract" xlink:label="loc_deiCoverAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementLineItems" order="200" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaapStatementClassOfStockAxis" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementClassOfStockAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain" order="0" />
    <link:loc xlink:type="locator" xlink:href="gnw-20250101.xsd#gnw_ClassCommonStock.01ParValueMember" xlink:label="loc_gnwClassCommonStock.01ParValueMember" />
    <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_gnwClassCommonStock.01ParValueMember" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="gnw-20250101.xsd#gnw_ClassBCommonStock.01ParValueMember" xlink:label="loc_gnwClassBCommonStock.01ParValueMember" />
    <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_gnwClassBCommonStock.01ParValueMember" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentType" xlink:label="loc_deiDocumentType" />
    <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentType" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_AmendmentFlag" xlink:label="loc_deiAmendmentFlag" />
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiAmendmentFlag" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_AmendmentDescription" xlink:label="loc_deiAmendmentDescription" />
    <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiAmendmentDescription" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentRegistrationStatement" xlink:label="loc_deiDocumentRegistrationStatement" />
    <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentRegistrationStatement" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentAnnualReport" xlink:label="loc_deiDocumentAnnualReport" />
    <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentAnnualReport" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentQuarterlyReport" xlink:label="loc_deiDocumentQuarterlyReport" />
    <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentQuarterlyReport" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentTransitionReport" xlink:label="loc_deiDocumentTransitionReport" />
    <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentTransitionReport" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentShellCompanyReport" xlink:label="loc_deiDocumentShellCompanyReport" />
    <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentShellCompanyReport" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentShellCompanyEventDate" xlink:label="loc_deiDocumentShellCompanyEventDate" />
    <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentShellCompanyEventDate" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentPeriodStartDate" xlink:label="loc_deiDocumentPeriodStartDate" />
    <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentPeriodStartDate" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentPeriodEndDate" xlink:label="loc_deiDocumentPeriodEndDate" />
    <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentPeriodEndDate" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="loc_deiDocumentFiscalPeriodFocus" />
    <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentFiscalPeriodFocus" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentFiscalYearFocus" xlink:label="loc_deiDocumentFiscalYearFocus" />
    <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentFiscalYearFocus" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_CurrentFiscalYearEndDate" xlink:label="loc_deiCurrentFiscalYearEndDate" />
    <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiCurrentFiscalYearEndDate" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityFileNumber" xlink:label="loc_deiEntityFileNumber" />
    <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityFileNumber" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityRegistrantName" xlink:label="loc_deiEntityRegistrantName" />
    <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityRegistrantName" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityCentralIndexKey" xlink:label="loc_deiEntityCentralIndexKey" />
    <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityCentralIndexKey" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityPrimarySicNumber" xlink:label="loc_deiEntityPrimarySicNumber" />
    <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityPrimarySicNumber" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityTaxIdentificationNumber" xlink:label="loc_deiEntityTaxIdentificationNumber" />
    <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityTaxIdentificationNumber" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="loc_deiEntityIncorporationStateCountryCode" />
    <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityIncorporationStateCountryCode" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityAddressAddressLine1" xlink:label="loc_deiEntityAddressAddressLine1" />
    <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityAddressAddressLine1" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityAddressAddressLine2" xlink:label="loc_deiEntityAddressAddressLine2" />
    <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityAddressAddressLine2" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityAddressAddressLine3" xlink:label="loc_deiEntityAddressAddressLine3" />
    <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityAddressAddressLine3" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityAddressCityOrTown" xlink:label="loc_deiEntityAddressCityOrTown" />
    <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityAddressCityOrTown" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityAddressStateOrProvince" xlink:label="loc_deiEntityAddressStateOrProvince" />
    <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityAddressStateOrProvince" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityAddressCountry" xlink:label="loc_deiEntityAddressCountry" />
    <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityAddressCountry" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityAddressPostalZipCode" xlink:label="loc_deiEntityAddressPostalZipCode" />
    <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityAddressPostalZipCode" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_CountryRegion" xlink:label="loc_deiCountryRegion" />
    <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiCountryRegion" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_CityAreaCode" xlink:label="loc_deiCityAreaCode" />
    <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiCityAreaCode" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_LocalPhoneNumber" xlink:label="loc_deiLocalPhoneNumber" />
    <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiLocalPhoneNumber" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_Extension" xlink:label="loc_deiExtension" />
    <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiExtension" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_WrittenCommunications" xlink:label="loc_deiWrittenCommunications" />
    <link:presentationArc order="310" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiWrittenCommunications" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_SolicitingMaterial" xlink:label="loc_deiSolicitingMaterial" />
    <link:presentationArc order="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiSolicitingMaterial" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_PreCommencementTenderOffer" xlink:label="loc_deiPreCommencementTenderOffer" />
    <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiPreCommencementTenderOffer" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="loc_deiPreCommencementIssuerTenderOffer" />
    <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiPreCommencementIssuerTenderOffer" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_Security12bTitle" xlink:label="loc_deiSecurity12bTitle" />
    <link:presentationArc order="350" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiSecurity12bTitle" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_NoTradingSymbolFlag" xlink:label="loc_deiNoTradingSymbolFlag" />
    <link:presentationArc order="360" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiNoTradingSymbolFlag" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_TradingSymbol" xlink:label="loc_deiTradingSymbol" />
    <link:presentationArc order="370" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiTradingSymbol" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_SecurityExchangeName" xlink:label="loc_deiSecurityExchangeName" />
    <link:presentationArc order="380" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiSecurityExchangeName" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_Security12gTitle" xlink:label="loc_deiSecurity12gTitle" />
    <link:presentationArc order="390" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiSecurity12gTitle" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_SecurityReportingObligation" xlink:label="loc_deiSecurityReportingObligation" />
    <link:presentationArc order="400" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiSecurityReportingObligation" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_AnnualInformationForm" xlink:label="loc_deiAnnualInformationForm" />
    <link:presentationArc order="410" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiAnnualInformationForm" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_AuditedAnnualFinancialStatements" xlink:label="loc_deiAuditedAnnualFinancialStatements" />
    <link:presentationArc order="420" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiAuditedAnnualFinancialStatements" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="loc_deiEntityWellKnownSeasonedIssuer" />
    <link:presentationArc order="430" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityWellKnownSeasonedIssuer" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityVoluntaryFilers" xlink:label="loc_deiEntityVoluntaryFilers" />
    <link:presentationArc order="440" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityVoluntaryFilers" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityCurrentReportingStatus" xlink:label="loc_deiEntityCurrentReportingStatus" />
    <link:presentationArc order="450" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityCurrentReportingStatus" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityInteractiveDataCurrent" xlink:label="loc_deiEntityInteractiveDataCurrent" />
    <link:presentationArc order="460" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityInteractiveDataCurrent" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityFilerCategory" xlink:label="loc_deiEntityFilerCategory" />
    <link:presentationArc order="470" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityFilerCategory" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntitySmallBusiness" xlink:label="loc_deiEntitySmallBusiness" />
    <link:presentationArc order="480" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntitySmallBusiness" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityEmergingGrowthCompany" xlink:label="loc_deiEntityEmergingGrowthCompany" />
    <link:presentationArc order="490" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityEmergingGrowthCompany" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityExTransitionPeriod" xlink:label="loc_deiEntityExTransitionPeriod" />
    <link:presentationArc order="500" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityExTransitionPeriod" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentAccountingStandard" xlink:label="loc_deiDocumentAccountingStandard" />
    <link:presentationArc order="510" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentAccountingStandard" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_OtherReportingStandardItemNumber" xlink:label="loc_deiOtherReportingStandardItemNumber" />
    <link:presentationArc order="520" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiOtherReportingStandardItemNumber" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityShellCompany" xlink:label="loc_deiEntityShellCompany" />
    <link:presentationArc order="530" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityShellCompany" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityPublicFloat" xlink:label="loc_deiEntityPublicFloat" />
    <link:presentationArc order="540" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityPublicFloat" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityBankruptcyProceedingsReportingCurrent" xlink:label="loc_deiEntityBankruptcyProceedingsReportingCurrent" />
    <link:presentationArc order="550" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityBankruptcyProceedingsReportingCurrent" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="loc_deiEntityCommonStockSharesOutstanding" />
    <link:presentationArc order="560" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityCommonStockSharesOutstanding" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="loc_deiDocumentsIncorporatedByReferenceTextBlock" />
    <link:presentationArc order="570" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" 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.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Cover<br></strong></div></th>
<th class="th"><div>Aug. 05, 2025</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_DocumentType', window );">Document Type</a></td>
<td class="text">8-K<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">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_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Aug.  05,  2025<span></span>
</td>
</tr>
<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_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">001-37924<span></span>
</td>
</tr>
<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_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">BLACKLINE, INC.<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001666134<span></span>
</td>
</tr>
<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_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">46-3354276<span></span>
</td>
</tr>
<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_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">DE<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">21300 Victory Boulevard, 12th Floor<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Woodland Hills<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">CA<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">91367<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">818<span></span>
</td>
</tr>
<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_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">223-9008<span></span>
</td>
</tr>
<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_WrittenCommunications', window );">Written Communications</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_SolicitingMaterial', window );">Soliciting Material</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_PreCommencementTenderOffer', window );">Pre-commencement 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_PreCommencementIssuerTenderOffer', window );">Pre-commencement Issuer 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_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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">BL<span></span>
</td>
</tr>
<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_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">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_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> -Number 240<br> -Section 14a<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>XML
<SEQUENCE>9
<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>10
<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>12
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.25.2</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_080525.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_080525.htm">f8k_080525.htm</File>
    <File>gnw-20250101.xsd</File>
    <File>gnw-20250101_def.xml</File>
    <File>gnw-20250101_lab.xml</File>
    <File>gnw-20250101_pre.xml</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="22">http://xbrl.sec.gov/dei/2025</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>false</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>14
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "f8k_080525.htm": {
   "nsprefix": "gnw",
   "nsuri": "http://globenewswire.com/20250101",
   "dts": {
    "inline": {
     "local": [
      "f8k_080525.htm"
     ]
    },
    "schema": {
     "local": [
      "gnw-20250101.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/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://www.xbrl.org/dtr/type/2024-01-31/types.xsd",
      "https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd",
      "https://xbrl.fasb.org/srt/2025/elts/srt-roles-2025.xsd",
      "https://xbrl.fasb.org/srt/2025/elts/srt-types-2025.xsd",
      "https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd",
      "https://xbrl.fasb.org/us-gaap/2025/elts/us-roles-2025.xsd",
      "https://xbrl.fasb.org/us-gaap/2025/elts/us-types-2025.xsd",
      "https://xbrl.sec.gov/country/2025/country-2025.xsd",
      "https://xbrl.sec.gov/dei/2025/dei-2025.xsd",
      "https://xbrl.sec.gov/stpr/2025/stpr-2025.xsd"
     ]
    },
    "definitionLink": {
     "local": [
      "gnw-20250101_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "gnw-20250101_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "gnw-20250101_pre.xml"
     ]
    }
   },
   "keyStandard": 22,
   "keyCustom": 0,
   "axisStandard": 0,
   "axisCustom": 0,
   "memberStandard": 0,
   "memberCustom": 0,
   "hidden": {
    "total": 2,
    "http://xbrl.sec.gov/dei/2025": 2
   },
   "contextCount": 1,
   "entityCount": 1,
   "segmentCount": 0,
   "elementCount": 65,
   "unitCount": 3,
   "baseTaxonomies": {
    "http://xbrl.sec.gov/dei/2025": 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_080525.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_080525.htm",
      "first": true,
      "unique": true
     }
    }
   },
   "tag": {
    "dei_AmendmentDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "localname": "CityAreaCode",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "gnw_ClassBCommonStock.01ParValueMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://globenewswire.com/20250101",
     "localname": "ClassBCommonStock.01ParValueMember",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Class B Common Stock, $.01 par value"
       }
      }
     },
     "auth_ref": []
    },
    "gnw_ClassCommonStock.01ParValueMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://globenewswire.com/20250101",
     "localname": "ClassCommonStock.01ParValueMember",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Class A Common Stock, $.01 par value"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ClassOfStockDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ClassOfStockDomain",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "auth_ref": []
    },
    "dei_CountryRegion": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "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/2025",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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": [
      "r9"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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": [
      "r10"
     ]
    },
    "dei_SolicitingMaterial": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "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": [
      "r8"
     ]
    },
    "us-gaap_StatementClassOfStockAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StatementClassOfStockAxis",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Class of Stock [Axis]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StatementLineItems",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StatementTable",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "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/2025",
     "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": "14a",
   "Subsection": "12"
  },
  "r9": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "14d",
   "Subsection": "2b"
  },
  "r10": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "15",
   "Subsection": "d"
  },
  "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>15
<FILENAME>0001171843-25-005050-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001171843-25-005050-xbrl.zip
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
MM$B,N:4A6:J#+/M3:!>2N- BUU*#5+[$PE,X!R4F2D6A./H:JY6^"+;Z"?!
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
M[*HS6U$\ND:P!PE6-W"MB9VU&['K!MY/8>;N0-JU0R>+I01F9+'ZILW(8JE
M8^4',[[(C2);9^!V(.!MI_L)*\)*T:[<R_PJ]9)@CLEC65/-YU@*:+5?LN6;
M1X<F&QB-;I.^%B&/B;*VSIP14;9_E#4-G5G-Q@.B;/<I.]"9,3KBB;G/23SA
M:2IGYE*>W 0>K>!Z.HPC-AYW9XD2-=*K!N.(.<T1;>(?)6C3!1AUAUG#32WM
MQ$#$0/>'J6SH=$<#M=59GJRF&#LX8]#]*0G=,=B@>?-G1Q/B2O6%$V\^69$.
MF#UX6F,X\::*E.T^!J8)<:I-O-D_RG8? Q-"F/'&$*9KO+G/[:]IAD,:#4^4
M"JB$U1%C1<7NIQ)ZAUM^=2J>]9:Z)G.:+B11MQ_4'8Z92;MB>TM=FXV:=[TH
MY"-3\;N+M0.'669C[[NRH1G5GE2#<<CL\:8+@8A_B'_N3;E;S&AVV!(#*4&<
M+L"HFVQH=H>!VBI^>YM2CQU,-W<_86X9;&@\\AX]95F::CE]PL :,-/:U Y+
MK-E=PG8?@Y');(LJX/TC;/<Q<,;,LOK2U+:_ OAO29RFVCR))QNO?^@$N;O/
ML+H!'#O8E/GK&L>2,NT3!KHQ8+I-/FC_*-M]# S;9I;>N >9>+/SE.T^!H8Y
M8G9OTDK[\T*+'=G1M<:_SW&C-C5B$E:$53N-F&[(4]&!.7.3;QRE\N@[?2SF
MZ TMWE<7X>BH.V!&,[].U.T'=77#80Y=W=U?\NK,M)7IL3V\N?["4^XFWE18
M;)_?\#">X]TSQ\X8!@[ 6:KP!8G]KI,^S#%:O;>;J+L_$&QSW4V%1-V>4'?
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
MZ[9Q;1V=:TQK2+?' B$5R<??C$(09:$B[ 7P$:F7F7M2-W%IW<62-94+*";
MX]BEBP7@87XNPP4?=0IMF\2ZRQ>KN49S.IH".V>G!-/S,=SR("=]4SC-LE5N
M5UG88R,>8O^ANK"R2S-0AG^Z;[:^W'>Z[5/2Z;:*KZMFPYMV!L@MCI-OSRFX
M+'*/_B*77!,:DC!@#A9I+N$^X2HDX.3@/O+D2'92=."Q&$LR;\:\2J-Q.E5B
M^9O'AO%/N2@YW^0L4##SO#"@#C;Y\7= 73?Z!FHR)O7"I.(.]6*F04-H4.6N
M\5*I?$CG]P,.[H:#),X6MJY8MRH62/&"ND\?+N-!'=\1$LZK[EW["-TRS5U+
MN#L=ZAQB O/H#,[MIB<I-TO8:I:P67[UAM-PQST&:P,F=S%^@>V"7:A<U,H9
M[5$VY\<TTSKG3W3>B9H51UMB/S$N<XWJ>:%2.:N6+\ZSY2@I>9!3[F,;.-#:
M4S!?/4".DN1?D*)"EYM$!B<\Y54GZQK=DT9+3"8\Q/$:0<L2HY.W8NL4>\5^
MD;2A314+8#FM;](5Q9.$QDHZ:C2N_UHHD$<!I\@C3=>%[B DT?FX296^A!0*
M/Q(Y3>+(J'3?<@XB3J/_W7.?V;L\J99KE.V*99'O8$0A%^23F'KLA4KW%'A3
M8W+G"2&/G2Z.+W,+_O@@G\3,WR'Q!03K7X5P/>J[Y!<.47U=N--7ZI;]8FO$
MDSXK#_(1(+D>K+[.F V%*2@-J/F<KC,5=7I[Z<+X[7]XL$<HORCG&C6[<G[Q
M#B:.:H+X/$&X>)2@&![ (6O/H=Q5_(61AR&<31:>D#Q(0% $4Q#H$SD6?AP/
M=AR\HS:=^:V*1[]K2D;W434V2_;ENJ)/MG=B]P(BMI9YK[1P 15PN5PIU"QK
M@\K/,^>J%/T8 AZ/!=I(ON;X%&H[QYMBF42@6,!9;]*>* )8$FO8]S1G5RC2
M# (/<@ $^Y\4S$ UD7BF_)4ZCL G-?X/JAD2T]=!2L, 03P:QEW4L8I@U')K
MS)SG@9A#)[E_LL)"./J%^Y@RDU7^KOX:">HFE@80)P/)L6@ #LB >6*&@N-B
M?!M AMQ#!^$A>(MB0,W%_CCDDZFGJ,_$-/06)(1\'0X7>F>T00R 5QK7'KB0
MZ#"F@ >4[2_BM:'P@#CNP]C-L;X(Z_MU"J_*NU$<_IQNX4.V*Z[OGW#7]=CN
M!@$O-084-*+ +LD4]JOD"HR 1=C4CZJD<%?D.<-99.VB6KW:LZJN77S(\#=(
MS88ZD$N2)T%B;M*# H54RV>1A==F)3@BR=L7I'77(^6*503 D[=5Q.^M^+Z
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
M!77G>TM@,6O9L05;[U.?$:7Z(L\%'VF1OH1Q<D?D3\)*N(5\;"8<$R[..$<
M*<.'Q_1++4O30LVLW<'62D7V8!^ K)0V$1SJJG\W6W8RD1/*!QIR@\3$R['"
MYEL:]#<I2AR!*W,4(8?R^7)T0H>0_S>C;E2=-R[_ %!+ P04    " #3@ 5;
M2XDNP7X(  !?9@  %    &=N=RTR,#(U,#$P,5]D968N>&ULU9U=<^(X%H;O
MIVK_ \5<$T,RF=E.=7:*T,D6-=V=;,AT[\Y-2MC"J"(D2I8#_/N5_$%LK&.;
M3**6^R)-X,AZ];RRK&-+Y./OVQ7M/6,1$<XN^Z.38;^'F<\#PL++_I^SP7@V
MF4[[O4@B%B#*&;[L,][__5__^.DC)>SI0O^8HPCWU'%8=+&-R&5_*>7ZPO,V
MF\W)YNR$B] ['0Y'WG^_?)[Y2[Q" \+T\7S<STOIHYC*C3Y\^. EG^:AE<CM
M7-"\CC,OE[,_LOHTD/L"Q>!S+_VP&$IJ#ET0'9&+*&G)9^XCF9!K5-0#(_1O
M@SQLH-\:C$X'9Z.3;13T%>A>+T4M.,7W>-'3__]Y/]W7&5(^QPQOH@T1^,3G
M*T]'>!.N;%5BD[)+@1>7_9!MU/%/SX>C87+TGTLQ<K=6[D9DM::JD5ZA9B3\
MO')3:+$*H)4Y;-V\\Z3JI3J$\.,Y'@1DA9GN?_U>5E&Q=?NC$"8]%>IE,9[Q
M .^M>E_5(. K1(Z47"W][GJ3>@8KO)IKHX\26R[ZWDH1I<?I2PJ\MRK&Y?A8
M87D9BWT1+U!,Y:L[8UZ\J%B]21C1@]MG]6M)-=Y*S (<Y+KUX8X:C221NL0P
M_3?J#7J?N!\K.5*]3",3);D6ROV2 *J'72ZJW**\P0L4S9-6Q]$@1&CMZ6'/
MPU1&^3O)0)APS-YXG$DDL1:A&HRGZF645T#1'-.DVL<LV!3K_4C-#VC^TI%J
M]&9Q9:TO7H]%KCKK)BW/P[1O7OB<2=4[KFE2E^K?.-0O<ET+P5>-&#-HO%9_
MD:P2TN]Q$6"A)C##%RV41SBX[$L15QILV9P)15%TNYA)[C^-MZ1-OZH6>4/+
MC)?.)HO*Y %[H)8:G/HQGA0%?LHNPI 9IM@W=*$Z&VBR *3+&W5#-IP.N^C#
MXZ@B^ZVLR*^%?W=$>[572=L@N\Y>9U=EXJ_>2"V8\-6*LZ3ZD^'H#HEOB,;X
M2S;IJSBBRC46>W-SRA-1 'Q-I^=':@>'K->-63#\JU?2KRWW6#VEG<+?+!X<
MJ][@FA%A_R3DSUZ 23I,J1<OHY/ZY3&?BCZH(QH\4"'%B,=??@3MYGF322;$
M]0TN <U8QTI*H.7<4!2:N99"' 9;U?F.DYPCR'["D2_(6A:F<P#@0F07.!_*
M!0<(F^/#/0Y))$5R_V_?G/H!PUC$80.:=8/S%)M.C!F+$;W':RX:#"A&=H![
M12Z$^Q>;N/\3(R&QH+LVQ ^".P#=I!CB?FYU0B*0RE$TJ#;@#Z,[0-XH&4+_
MJTWTLR6F5,U;UXBUZO75^ [@!T1#!OSVHPRX?M93 M6P]A[LBW3,AK)NR(E_
MVG3B#@O" ]4BT<*#@^ .T#<IAKA_L,_]F@5MJ6>AG6%>U%MW>]\>\AL2^8BF
MZF[4>Z;[]H5F5,([@-ZL^8UO@/TM_/_#2+2&OP_N#/JR8A"\E<QV$@M1$E8[
MVD#1#J.OE0RRMY++7C-)Y.Z&4/PU!N[^JK##*(=9&Z6"C*TDL*FD_&8&DU_1
M"NC;IDCG61OD@KRM)*ZIK(D2+Q"=L@!O_\"[.N 'H<X3-^D%D5M)6%-==X*L
MD-C-B-\\F!S&.@_=*!BD;B5+384]H.TT4$T@"Y*N"FV&#Q1QWH,ZW: 55M+4
M5-^4^5RL>>&.]83'ZES=37A0.^37%G3>EF;UH#E6<ME4Y3@(!(ZB[#_=JE&=
M)89PYXV -(,/KJSDM9"VT^/PGW80_VD]?BMY+:3M[#C\9QW$?U:/WTIV6](V
M42]OQ0/? $_*@>"NH#]0#(*WF-IFRI*VW(H[P9])NIFFB?Y!B:Y88)(-^F Q
M_<U[2#HQ:-/[T\BN<"_*!7E;3'\S67<\DHC^1=9-,U!3?%?85T6##EC)AK.^
MH&^,0$NB2B$.<Z[J!-%:27GU%68L,(*[<S'"9;"',D&N5O+7SUP_CUER5GL?
M^##*8;Y&J2!C.VFHWK\6@4/"_F.'J98U0CA?N5O@2)S?!9%*C5[6';/L?A#P
MM,X8ZC!F6"^(W$HJ.>.4^(H/"[^H5@B"J)EW-<YAV(!8D+25K/%.8.T^5E/X
M9(F:WO@J;A<+:&2&XQTFWR :=,!*^G@@;AI%,1;'^E IU1TWS-)!3ZRDDC/L
MQVIHW(U.YP]Z+S<P^AQ$.<S<*!5D;"5]_,H?!-+?PS+;K>:<PMMF#($.DX;4
M@K"M9(HE36;,I1"' 5=U@FBM9(KYJ76]]9>(A1A>=6&*=!@T*!?D;26#?!G*
MPE9C<]B=L3EL,39;R2!S2>DR>76VW<XI"1&\\ZZF0 ?(0ZHA$ZHM>@\3TMU1
M4[;@8I5HNE$OS/B-H0Z#A_6"R.UL-8T#(G&0RKLA##%?I6G[)@%9?U,IEXUH
M(QWTQ.)SS>^8TC\8W[ 91A%G.$C3AKHG#4 1A]UHU@U:8?%)YS=.8R:12!:_
M"N"<,(8ZC]ZD%T1N\:%FMK![?YW238)V#-25<-Z &MF@#Q8?=DZ9Q +YDCSC
M3TBB3&V=#^82SOM0(QOTP>("X.3TG*C6A+S^&7\IT'GJ5;4@;(OK?F<K1.E5
M'"GY4>V84PIT'G95+0C;XLK>ZQ46H1KX_BWX1BZS;;)UT(T%G(</JP9-L+B"
M]WK[LE4_W3M8ZT EVGW\9LD0^W.KVU+'OJ\7@Z17?Q8@ ="'XQWFWR :=,!*
M^GLKEU@4YUZ),-V4NL4:3:4<=J.5=- 3B^EO\4L3:B_!A3B'N0-B0=(6L]N[
M>$Z)?T,YJIW7%\*<YWRH%<1L,:.]0NQ)Q&OI[^X$]S'6CW2B_9G8(K%J=0#G
MK6G?"M TFUM=7[[9<K9$ D>WL4S^<H;26GLSHJ:<\Q8UB@>=L?H53M'+YC@<
M7.WN\0(+O<3B 6_EE:KHJ7X2U5C<89^.:P-HUSZE_N@=-$]5_J0^R=[7/_2?
M,E'O_!]02P,$%     @ TX %6P:+4FM<"P  /8T  !0   !G;G<M,C R-3 Q
M,#%?;&%B+GAM;,V=76_CN!6&[POT/Q#>7K3 .(X3M$""R2X23U($FTG2.+/;
M=E ,:)EVA)%)@Y(3Y]^7I#XLD3R2G)V0O)EQI/=0+W4>D_H\_OC+=I6@9\+3
MF-&SP?C@<( (C=@\ILNSP9?I\'PZN;X>H#3#=(X31LG9@++!+S__^4\?DYA^
M/Y7_S'!*D&B'IJ?;-#X;/&79^G0T>GEY.7@Y/F!\.3HZ/!R/_OWY9AH]D14>
MQE2V%Y%!&25;L<6-3TY.1FIM*364VQE/RFT<CTH[5<MB;=RBKSE)X]-4V;MA
M$<[4[NC<# (5\J]A*1O*1</QT?!X?+!-YP.Q]Q#*]Q]G"7D@"Z0Z>9J]KL4.
M3N/5.I&6U+(G3A9V*PGG(QD_HF2),S*7FSF1FQG_0V[FIV+Q#9Z19("D\LO#
M-=BKDT9;1=#(K=5[PF,VOZ1O\ZQ'>S$_S3#/_H#]>KSC#CRR#"=OLEZ/=&SZ
MEKQM;^_B7.]E,=B2M^WE6N0[F,Y,PWOO6ML^3>2B&_&I89!L,T+G9%Y:E VT
MC+BJ?341J):KMEG4:#618S?C9K]3T:IJ<8'3F6IVDPZ7&*]%\T=_'Y$D2\LE
M0[E$[8!BP3?QG<S(BM!LDN TO5M,,Q9]/]_&:;D=U<6S00_]J&E?QIWSL@^8
M1QV[H5",(B8FK74V3/+=G8<O.%OU,E'L,=9#_"V95>WGNUA8L':C(>(D91L>
MD;VR6^]+WSU:^%LE(D(>LA Z_#(=_*QDB"V0$J*O4OJ_CZ-=T_M3M*0OBHS#
M\:&:Q7\2"[ZI[4S8:L6HVM+!X?@>\]]PLB&?R6I&N-:?GC'O3\E>YB4IO0(\
MT[*/1SLQYR@/S;GY@/XBPM$:<_0L&W@O@"[>0E!'D$.$>MEO,-0:$0I$?4S:
M*;IX1XI^W&3VB&>[(P1HO"U$'J:MACWK7*44H4U0=5,Z'94(?56R/S@C_3@4
MQ-$9N18?.P]H:D(/2!@VK5A4JM#0T(VUX"&E2&E_)",IB0Z6['DT)W&.A_BP
MHT+\\>T3BS:*8M&BUAUS]?L3 %F2>=?7><XV8$?/<2E!4N,TM>=BLW.YZ:L$
M+RWFM?5NDFLU56:WL3* ]-K\Z/FM-$B*_"3X$TDC'J_E-<RV7C1DCM-ML6AD
MO:8)*?FF+9B!FM;+,/Y EG&:<74YNYI=6@8N0.]VH&\UK8_\5G$ N/3Q!\X-
M]2!417DAZ)S2#4X>R)KQ-G":,K>\V"SJF-0U =%AL05"D6M1+O;"PK\VF&>$
M)Z^=.!A*MT0 1G4H-%E 7-B=@6A4<I]T/'),TU@.69UXF%+'IQ* 5>.T0M,%
M1 A@#3[=J/0^&9D^D229L-4:T^Y!Q"9VRPEL5R?%5 ;$"F@.I$5%H"(D%& N
MG^71MS@8ZMG5FMX?-H;I-G(J<:#PZ/YZ\J/"D(SSPE#MN8H.>@RE6VX HSHQ
MFBP@5NS.0$IR.5)ZWWA<TGDO."J=#S0TDW8P"E%P6#1]=4$AU/Z0N(K3"">Y
MDRNQ3+\MTJ%UBP9H5L?#$ :$".0-Q"0/*&E1(1Y1^0_!O!\H-:4/3 RC=D@J
M67"(Z,ZZ )%Z#WA,-IPW/,/S"RQU TB7U9(02!< (AW6C(<T<GD#$2_SS27-
MXNSU*D[([<;RJ(]=XH8*R%I)@[X^  H 2WKV<QF2.I0+/>2\O,)/LUN\LHT*
M=IG+W-LM-O/?U 3#@-46P,%.BZ38 PL3,19QG%S3.=G^2E[!7ADZES0 )ILX
M:*)@>+#[ H HQ$BID9![0.*>QRO,7Z=QU#$QF$*74$ VFU3HJF"P (P!7!1J
M-+V>^)LW'O'V>BX C1=Q_I):!Q^@WB4F'::;M #B8*!I]P>P(X)0,\H?0M<T
M8GS-:H\D3-A&#'FO$S:'CT0ZHESBU*L#3:A:0X)!JX]+ +!&Z(?\F1'$."H:
M0+(%#ZR=S^=B-Z7%?S<Q)6.P]U:M2ZY:S#9IL@B#80CV!I!3*#^4'Y",07<T
M#%R.]NCHD6]<COKB<A0P+D=OP>7QA06!R_$>'3WVC<MQ7UR. \;E^$VXB*1[
M'%\FXN,=?V0OML>C0:4'6$RC5E1VLM! ,9QU82(#Y'&+#/$'B#I\NN/WG#W'
M-((/BB&Y!U0 RU9>-&UHT-CM=9%3'?*6<1['E_R@N_/+4<I\C"Q-B_9A)=>$
MAD?35N> DJO]P7#/T@PG_XW7K:?7=K$',*QVK7@TE*%!8C/7A4H>@T20^]/E
M E-Y,\+ZTI:VWM&=89NIZG9P?64 Z;?Y,6[\%E=#<I';!$LV.<' *-!<[2B]
M%DM5=FOK0DBN:<?(K?HN"XW[+Z\L&)?</S$*W\8W)6YR#%DK\ZRO#R#7@"4]
MWTJ&E,[+M719OBJU#]:U=8YF<-U,-6&7*P+(J^[%F([+]4[S^#N/,[%=6:]E
M0XM[,[:G^ "=F_RVFBQS;14%D/<V7SH#A18UQ4Z!F+(DCN(LILO/XH22Q]C6
M)YO(#0JPO9(#4Q$ !* IHP9*)42ETFGZ[SF1\!&1!/6:G:Q1R.\6"^NLWB9V
M@T.WW1(+6!D 'IWF=$Q$P#"J1: \!*D8G\!<I^F&\+VPL81X@0>T#B!DZ,,#
M";+8B5,>Z(^J*8DV8BY\'1_-'N/,*--FESB:@0!KU?RCK0^ "L"23H%:)XN&
MCH_^.OL;*J.<)OZ6/7(LJZ]/7U<SE@"UFJPJ-^EO,5@28)$$  'L2N?@EJ%"
MBG*M^UI.#:N6SFCKW:3>:JI,>F-E .FV^3&^\(TL>QG@+[?1D[!$@-< [#*W
M [W-HC[8US4!)+_%EG'"44A1J77_&L!N>EIV3_9+3Y/]LF.R7X8WV2_[3O9+
M3Y-]N=&\P(88B>YF2;S$0.&^5K5;'%H,ZV18I %! KL#QXDJ!.UBW-9Y5(7
MKNF"\97:^I7X8.DCH'-4Z;'-9%7JT28*@(XV7T:QQ[PL6TV,I-HM$9MYG)%Y
M;N4JIIA&,4ZJPH&VZ]G=(8XXZ6F]0J9#'P(]_2P:(.5A99V_*G!7 -+MA?#\
M\8C?29+\2MD+G1*<,DKF^941V_V==KW+9UDZ3#<?9P'$ 8#4QQ_P4(L,&GZ7
M4:@,*ZYI>6#H-Y9L:(:Y>C>;VT8C0.>2&<!DDQ5-% PC=E\ &Y48Y6H?KSSG
M%1BJ0RDYQ%F+I[3+G;X W6I9>P_:J@V&EE9[T%O11<V,W=%O'N7E!<:,<!QE
M\3/YA#-<. -["\G=OK+89EE_5]&F#0:>5GO@VXE5C"RR@DN:/!5;X1-Q0+5D
M+4]H:RK7)5<,@V;5E4H2#!@V5RVU5S@JM1XHF*YPDEQLTIB2%)YV-)5+"JP&
MFQ0T),%08',%4*"DJ-1ZH.!R1?A23&7_Y.PE>RJJE8(] ]0NJ6@UW*3#*@V&
MDC9W "UE",ICRN*R/K#9[HIIY_4'X7Y:I$Z! :UJM!BZ<%"!K!F<)"22UT]N
M688>&?J2$I0]$719_,YLO0)ZWHZ?W].((OD20G[43>>8V^!I$SO^;0W0KO$+
M&X8R (0ZS<&_ME%%H#+$*2]W@EU>/T-3%N0OPH'O&'2'N&&GK_62H"Y] !SU
MM*C3I,*:I\PJ4/VRG[\*0/62[O"!7$/D]-C78D\[]*TI J #- 4=^-:KX_NH
M+K>9)7%TE3 ,7S5I:)S6E#/-:>7D=H)@<F]Z@HK(*2%22@^9O\#T.]^LL^CU
MGK.($/GT4UJ-3UU7TGI&NZ1EKPXU.>H5&@QA^[@%V-LU@6IM?*C-3_XNR]5^
M:GOZA,7NN]MDJ9PMA2WX.G9KD-.; SWL:[<(6B*"@:Z'2>AV0>/WS_-@5(OV
M<NZ5[JKDD?G%ZP-9$"Z?^'\DV^Q";.A[RQE$CUBW9V:].Z.?J'4&!H#?OEZA
MT[@4U1M ,_GT5M$$^BH;0:H5\S>VZPMNQ">QL%PD_IGAE(@E_P=02P,$%
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
M[_P+4$L! A0#%     @ TX %6VB!> 1M2P  1%X&  L              ( !
M     &5X:%\Y.3$N:'1M4$L! A0#%     @ TX %6R;)V#,+#0  &#D   X
M             ( !EDL  &8X:U\P.# U,C4N:'1M4$L! A0#%     @ TX %
M6^"O60T3 P  90T  !               ( !S5@  &=N=RTR,#(U,#$P,2YX
M<V102P$"% ,4    " #3@ 5;2XDNP7X(  !?9@  %               @ $.
M7   9VYW+3(P,C4P,3 Q7V1E9BYX;6Q02P$"% ,4    " #3@ 5;!HM2:UP+
M   ]C0  %               @ &^9   9VYW+3(P,C4P,3 Q7VQA8BYX;6Q0
M2P$"% ,4    " #3@ 5;%K5*K,$'   %80  %               @ %,<
J9VYW+3(P,C4P,3 Q7W!R92YX;6Q02P4&      8 !@!Y 0  /W@

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<FILENAME>f8k_080525_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/2025"
  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-20250101.xsd" xlink:type="simple"/>
    <context id="Form8K">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001666134</identifier>
        </entity>
        <period>
            <startDate>2025-08-05</startDate>
            <endDate>2025-08-05</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:AmendmentFlag contextRef="Form8K" id="ixv-142">false</dei:AmendmentFlag>
    <dei:EntityCentralIndexKey contextRef="Form8K" id="ixv-143">0001666134</dei:EntityCentralIndexKey>
    <dei:DocumentType contextRef="Form8K" id="ixv-163">8-K</dei:DocumentType>
    <dei:DocumentPeriodEndDate contextRef="Form8K" id="ixv-164">2025-08-05</dei:DocumentPeriodEndDate>
    <dei:EntityRegistrantName contextRef="Form8K" id="ixv-165">BLACKLINE, INC.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="Form8K" id="ixv-166">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityFileNumber contextRef="Form8K" id="ixv-167">001-37924</dei:EntityFileNumber>
    <dei:EntityTaxIdentificationNumber contextRef="Form8K" id="ixv-168">46-3354276</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="Form8K" id="ixv-169">21300 Victory Boulevard, 12th Floor</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="Form8K" id="ixv-170">Woodland Hills</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="Form8K" id="ixv-171">CA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="Form8K" id="ixv-172">91367</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="Form8K" id="ixv-173">818</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="Form8K" id="ixv-174">223-9008</dei:LocalPhoneNumber>
    <dei:WrittenCommunications contextRef="Form8K" id="ixv-175">false</dei:WrittenCommunications>
    <dei:SolicitingMaterial contextRef="Form8K" id="ixv-176">false</dei:SolicitingMaterial>
    <dei:PreCommencementTenderOffer contextRef="Form8K" id="ixv-177">false</dei:PreCommencementTenderOffer>
    <dei:PreCommencementIssuerTenderOffer contextRef="Form8K" id="ixv-178">false</dei:PreCommencementIssuerTenderOffer>
    <dei:Security12bTitle contextRef="Form8K" id="ixv-179">Common Stock, par value $0.01 per share</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="Form8K" id="ixv-180">BL</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="Form8K" id="ixv-181">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityEmergingGrowthCompany contextRef="Form8K" id="ixv-182">false</dei:EntityEmergingGrowthCompany>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
