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

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			SPS COMMERCE INC
		CENTRAL INDEX KEY:			0001092699
		STANDARD INDUSTRIAL CLASSIFICATION:	SERVICES-PREPACKAGED SOFTWARE [7372]
		IRS NUMBER:				411593154
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			1231

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

	BUSINESS ADDRESS:	
		STREET 1:		333 SOUTH SEVENTH STREET
		STREET 2:		SUITE 1000
		CITY:			MINNEAPOLIS
		STATE:			MN
		ZIP:			55402
		BUSINESS PHONE:		612-435-9400

	MAIL ADDRESS:	
		STREET 1:		333 SOUTH SEVENTH STREET
		STREET 2:		SUITE 1000
		CITY:			MINNEAPOLIS
		STATE:			MN
		ZIP:			55402
</SEC-HEADER>
<DOCUMENT>
<TYPE>8-K
<SEQUENCE>1
<FILENAME>f8k_073020.htm
<DESCRIPTION>FORM 8-K
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?><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/2019-01-31" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:us-gaap="http://fasb.org/us-gaap/2019-01-31" xmlns:us-roles="http://fasb.org/us-roles/2019-01-31" xmlns:country="http://xbrl.sec.gov/country/2017-01-31" xmlns:srt="http://fasb.org/srt/2019-01-31"><head><title>Form 8-K</title></head><body><div style="display: none;"><ix:header><ix:hidden><ix:nonNumeric name="dei:EntityCentralIndexKey" contextRef="Form8K">0001092699</ix:nonNumeric> <ix:nonNumeric format="ixt:booleanfalse" name="dei:AmendmentFlag" contextRef="Form8K">False</ix:nonNumeric></ix:hidden><ix:references> <link:schemaRef xlink:href="gnw-20190101.xsd" xlink:type="simple"></link:schemaRef> </ix:references> <ix:resources> <xbrli:context id="Form8K"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001092699</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:startDate>2020-07-30</xbrli:startDate> <xbrli:endDate>2020-07-30</xbrli:endDate> </xbrli:period> </xbrli:context> <xbrli:unit id="USD"> <xbrli:measure>iso4217:USD</xbrli:measure> </xbrli:unit> <xbrli:unit id="Shares"> <xbrli:measure>xbrli:shares</xbrli:measure> </xbrli:unit> <xbrli:unit id="USDPShares"> <xbrli:divide> <xbrli:unitNumerator> <xbrli:measure>iso4217:USD</xbrli:measure> </xbrli:unitNumerator> <xbrli:unitDenominator> <xbrli:measure>xbrli:shares</xbrli:measure> </xbrli:unitDenominator> </xbrli:divide> </xbrli:unit> </ix:resources></ix:header></div><div style="margin-top: 3pt; margin-bottom: 12pt;"><div style="font-size: 1pt; border-top: black 2pt solid; border-bottom: black 1pt solid; width: 100%;">&#160;</div></div><p style="font-size: 14pt; font-weight: bold; text-align: center; margin-top: 6pt; margin-bottom: 0pt;">UNITED STATES</p><p style="font-size: 14pt; font-weight: bold; text-align: center; margin-top: 0pt; margin-bottom: 0pt;">SECURITIES AND EXCHANGE COMMISSION</p><p style="font-size: 14pt; font-weight: bold; text-align: center; margin-top: 0pt; margin-bottom: 6pt;">Washington, D.C. 20549</p><p style="font-size: 14pt; font-weight: bold; text-align: center; margin-top: 12pt; margin-bottom: 12pt;">FORM <ix:nonNumeric name="dei:DocumentType" contextRef="Form8K">8-K</ix:nonNumeric></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: 12pt;">Pursuant to Section 13 or 15(d) of<br />the Securities Exchange Act of 1934</p><p style="text-decoration: underline; font-size: 10pt; font-weight: bold; text-align: center; margin-top: 6pt; margin-bottom: 0pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonNumeric format="ixt:datemonthdayyearen" name="dei:DocumentPeriodEndDate" contextRef="Form8K">July 30, 2020</ix:nonNumeric>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</p><p style="font-size: 10pt; text-align: center; margin-top: 0pt; margin-bottom: 12pt;">Date of report (Date of earliest event reported)</p><p style="text-decoration: underline; font-size: 12pt; text-align: center; margin-top: 6pt; margin-bottom: 0; font-weight: bold;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonNumeric name="dei:EntityRegistrantName" contextRef="Form8K">SPS COMMERCE, INC.</ix:nonNumeric>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</p><p style="font-size: 10pt; text-align: center; margin-top: 0; margin-bottom: 12pt;">(Exact Name of Registrant as Specified in its Charter)</p><table style="width: 100%; margin-right: auto; margin-left: auto;" border="0" cellspacing="0" cellpadding="0"><tr style="vertical-align: top;"><td style="border-bottom: black 1pt solid; width: 33%; font-size: 10pt; font-weight: bold; text-align: center;"><ix:nonNumeric format="ixt-sec:stateprovnameen" name="dei:EntityIncorporationStateCountryCode" contextRef="Form8K">Delaware</ix:nonNumeric></td><td style="font-size: 10pt; text-align: center; font-weight: bold;">&#160;&#160;&#160;&#160;</td><td style="border-bottom: black 1pt solid; width: 34%; font-size: 10pt; text-align: center; font-weight: bold;"><ix:nonNumeric name="dei:EntityFileNumber" contextRef="Form8K">001-34702</ix:nonNumeric></td><td style="font-size: 10pt; text-align: center; font-weight: bold;">&#160;&#160;&#160;&#160;</td><td style="border-bottom: black 1pt solid; width: 33%; font-size: 10pt; font-weight: bold; text-align: center;"><ix:nonNumeric name="dei:EntityTaxIdentificationNumber" contextRef="Form8K">41-2015127</ix:nonNumeric></td></tr><tr style="vertical-align: top;"><td style="font-size: 10pt; text-align: center;">(State of Incorporation)</td><td style="font-size: 10pt; text-align: center;">&#160;</td><td style="font-size: 10pt; text-align: center;">(Commission File Number)</td><td style="font-size: 10pt; text-align: center;">&#160;</td><td style="font-size: 10pt; text-align: center;">(I.R.S. Employer Identification No.)</td></tr></table><p style="font-size: 10pt; text-align: center; margin-top: 0; margin-bottom: 0pt;">&#160;</p><!-- Postal Address Country=UNITED STATES  --><table style="width: 100%; margin-right: auto; margin-left: auto;" border="0" cellspacing="0" cellpadding="0"><tr><td style="border-bottom: black 1pt solid; vertical-align: bottom;"><p style="font-size: 10pt; text-align: center; margin-top: 12pt; margin-bottom: 0pt; font-weight: bold;"><ix:nonNumeric name="dei:EntityAddressAddressLine1" contextRef="Form8K">333 South Seventh Street, Suite 1000</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">Minneapolis</ix:nonNumeric>, <ix:nonNumeric format="ixt-sec:stateprovnameen" name="dei:EntityAddressStateOrProvince" contextRef="Form8K">Minnesota</ix:nonNumeric></p></td><td>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</td><td style="border-bottom: black 1pt solid; vertical-align: bottom;"><p style="font-size: 10pt; text-align: center; margin-top: 12pt; margin-bottom: 0pt; font-weight: bold;"><ix:nonNumeric name="dei:EntityAddressPostalZipCode" contextRef="Form8K">55402</ix:nonNumeric></p></td></tr><tr><td><p style="font-size: 10pt; text-align: center; margin-top: 0pt; margin-bottom: 0pt;">(Address of Principal Executive Offices)</p></td><td>&#160;</td><td><p style="font-size: 10pt; text-align: center; margin-top: 0pt; margin-bottom: 0pt;">(Zip Code)</p></td></tr></table><p style="font-size: 10pt; text-align: center; margin-top: 0; margin-bottom: 0pt;">&#160;</p><!-- Phone Number --><p style="text-decoration: underline; font-size: 10pt; font-weight: bold; text-align: center; margin-top: 0pt; margin-bottom: 0pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(<ix:nonNumeric name="dei:CityAreaCode" contextRef="Form8K">612</ix:nonNumeric>) <ix:nonNumeric name="dei:LocalPhoneNumber" contextRef="Form8K">435-9400</ix:nonNumeric>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</p><p style="font-size: 10pt; text-align: center; margin-top: 0pt; margin-bottom: 12pt;">(Registrant's Telephone Number, Including Area Code)</p><!-- Former Name --><p style="text-decoration: underline; font-size: 10pt; font-weight: bold; text-align: center; margin-top: 0pt; margin-bottom: 0pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Not Applicable&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</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><!-- Checkboxes --><p style="font-size: 10pt; text-align: left; text-indent: 0; margin-top: 6pt; margin-bottom: 6pt;">&#160;&#160;&#160;&#160;&#160;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 (see General Instruction A.2. below):</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">&#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">&#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">&#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">&#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;">&#160;&#160;&#160;&#160;&#160;Securities registered pursuant to Section 12(b) of the Act:</p><div><table border="0" cellspacing="0" cellpadding="0" style="width: 100%"><tr style="font-weight: bold; vertical-align: top"><td style="font-weight: bold; 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-weight: bold; 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-weight: bold; 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"><ix:nonNumeric contextRef="Form8K" name="dei:Security12bTitle">Common stock, par value $0.001 per share</ix:nonNumeric></td><td style="font-size: 10pt; text-align: center"><ix:nonNumeric contextRef="Form8K" name="dei:TradingSymbol">SPSC</ix:nonNumeric></td><td style="font-size: 10pt; text-align: center"><ix:nonNumeric contextRef="Form8K" format="ixt-sec:exchnameen" name="dei:SecurityExchangeName">The Nasdaq Stock Market LLC</ix:nonNumeric><br />(Nasdaq Global Market)</td></tr></table></div><!-- Emerging Growth Company --><p style="font-size: 10pt; text-align: justify; text-indent: 0; margin-top: 6pt; margin-bottom: 6pt;">&#160;&#160;&#160;&#160;&#160;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-indent: 0px; margin-top: 6pt; margin-bottom: 6pt; text-align: right;">Emerging growth company <ix:nonNumeric format="ixt-sec:boolballotbox" name="dei:EntityEmergingGrowthCompany" contextRef="Form8K">&#9744;</ix:nonNumeric></p><p style="font-size: 10pt; text-indent: 0px; margin-top: 6pt; margin-bottom: 6pt; text-align: justify;">&#160;&#160;&#160;&#160;&#160;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</p><p style="font-size: 10pt; text-indent: 0px; margin-top: 6pt; margin-bottom: 6pt; text-align: right;">&#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>&#160; &#160; &#160; &#160; On July 30, 2020, we issued a press release disclosing our results of operations and financial condition for our three and six months ended June 30, 2020. In accordance with General Instruction B.2 of Form 8-K, the information in this Current Report on Form 8-K, including Exhibit 99, shall not be deemed to be "filed" for purposes of Section 18 of the Securities Exchange Act of 1934 or otherwise subject to the liability of that section, and shall not be incorporated by reference into any registration statement or other document filed under the Securities Act of 1933 or the Securities Exchange Act of 1934, except as shall be expressly set forth by specific reference in that filing.</p></div></div><div><div style="font-size: 10pt;"><strong>Item 9.01. Financial Statements and Exhibits.</strong></div><div style="font-size: 10pt;"><table><tr><td><span style="font-size: 10pt;">d)</span> <span style="font-size: 10pt; text-decoration: underline;">Exhibits</span></td></tr><tr><td>&#160;</td></tr></table><table style="font-size: 10pt;" border="0" cellspacing="0" cellpadding="0"><tr><td style="font-size: 10pt;"><a href="exh_99.htm">99</a></td><td style="font-size: 10pt; width: 20px;">&#160;</td><td style="font-size: 10pt;"><a href="exh_99.htm">Press Release dated July 30, 2020</a></td><td style="font-size: 10pt;">Filed Electronically</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)&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;</td><td style="font-size: 10pt;">Filed Electronically</td></tr></table></div></div></div><div style="margin-top: 0pt; margin-bottom: 0pt; border-bottom: black 4pt solid;">&#160;</div><div style="page-break-before: always; margin-top: 0pt; margin-bottom: 0pt;">&#160;</div><!-- Signatures --><p style="font-size: 10pt; text-align: center; font-weight: bold;">SIGNATURES</p><p style="font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;Pursuant to the requirements of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned hereunto duly authorized.</p><table style="width: 100%;" border="0" cellspacing="0" cellpadding="0"><tr style="vertical-align: top;"><td>&#160;</td><td style="font-size: 10pt; font-weight: bold;" colspan="2">SPS COMMERCE, 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;"></td></tr><tr style="vertical-align: top;"><td style="font-size: 10pt;">Date: July 30, 2020</td><td style="font-size: 10pt;">By:&#160;</td><td style="text-decoration: underline; font-size: 10pt;">/s/ KIMBERLY K. NELSON&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</td></tr><tr style="vertical-align: top;"><td>&#160;</td><td>&#160;</td><td style="font-size: 10pt;">Kimberly K. Nelson</td></tr><tr style="vertical-align: top;"><td>&#160;</td><td>&#160;</td><td style="font-size: 10pt; font-style: italic;">Executive Vice President and Chief Financial Officer</td></tr><tr style="vertical-align: top;"><td>&#160;</td><td>&#160;</td><td style="font-size: 10pt;"></td></tr></table><!-- Exhibit Index --><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><p style="text-align: center; font-size: 10pt; font-weight: bold;">EXHIBIT INDEX</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">No.</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><td style="font-size: 10pt; font-weight: bold; text-decoration: underline;" valign="bottom">Manner of Filing</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><td style="font-size: 10pt;">&#160;</td></tr><tr><td style="font-size: 10pt;"><a href="exh_99.htm">99</a></td><td style="font-size: 10pt; width: 20px;">&#160;</td><td style="font-size: 10pt;"><a href="exh_99.htm">Press Release dated July 30, 2020</a></td><td style="font-size: 10pt;">Filed Electronically</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)&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;</td><td style="font-size: 10pt;">Filed Electronically</td></tr></table></div><!-- (612) 435-9400 Form 8-KJuly 30, 2020 --><p>&#160;</p></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-99
<SEQUENCE>2
<FILENAME>exh_99.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</strong></p><p style="text-align: center;"><font style="font-size: 14pt;"><strong>SPS Commerce Reports Second Quarter 2020 Financial Results</strong></font></p><p style="text-align: center;"><strong>Company delivers 78th consecutive quarter of topline growth, with 11% growth in recurring revenue over 2019</strong></p><p>
     <p>MINNEAPOLIS, July  30, 2020  (GLOBE NEWSWIRE) -- SPS Commerce, Inc. (Nasdaq: SPSC), a leader in retail cloud services, today announced financial results for the second quarter ended June 30, 2020.</p>      <p>Revenue was $75.6 million in the second quarter of 2020, compared to $68.5 million in the second quarter of 2019, reflecting 10% growth in revenue from the second quarter of 2019. Recurring revenue grew 11% from the second quarter of 2019.&#160;</p>      <p>Net income in the second quarter of 2020 was $11.2 million or $0.31 per diluted share, compared to net income of $8.8 million or $0.24 per diluted share, in the second quarter of 2019. Non-GAAP income per diluted share was $0.37 compared to non-GAAP income per diluted share of $0.30 in the second quarter of 2019.</p>      <p>Adjusted EBITDA for the second quarter of 2020 increased 25% to $20.4 million compared to the second quarter of 2019.</p>      <p>&#8220;The dynamics impacting the retail industry continued into the second quarter with both retailers and suppliers seeing the need for increased efficiency and automation across the supply chain, underscoring the critical nature of the service we provide,&#8221; said Archie Black, President and CEO of SPS Commerce. &#160;&#8220;The challenges we have endured this year have impacted our communities, our businesses and our lives.&#160; We would like to thank SPS Commerce employees for their ongoing dedication to our customers and our communities. We remain committed to take action and make progress in the years ahead.&#8221;&#160;</p>      <p>&#8220;We cannot predict the duration and magnitude of the pandemic and its growing impact on the economy, but the challenges the retail industry faces underscore the need for EDI and supply chain automation.&#160; With our cloud-native operational model, SPS Commerce is well positioned to continue to provide mission critical solutions and support our customers, partners and our community,&#8221; said Kim Nelson, CFO of SPS Commerce.&#160;&#160;&#160;</p>      <p><strong>Guidance</strong></p>      <p>For the third quarter of 2020, revenue is expected to be in the range of $76.6 million to $77.1 million.&#160; Third quarter net income per diluted share is expected to be in the range of $0.19 to $0.20 with fully diluted weighted average shares outstanding of approximately 36.3 million shares.&#160; Non-GAAP income per diluted share is expected to be in the range of $0.32 to $0.33.&#160; Adjusted EBITDA is expected to be in the range of $20.5 million to $21.0 million.&#160; Non-cash, share-based compensation expense is expected to be approximately $5.1 million, depreciation expense is expected to be approximately $3.5 million and amortization expense is expected to be approximately $1.4 million.</p>      <p>The dynamics of the current situation continue to impact our business and we continue to monitor the uncertainty around the duration and magnitude of the pandemic, and the impact that a second wave of infections may have on economic activity.&#160; We are also taking into account the possibility of continued pressure on retailers, prolonged store closures and potential bankruptcies, all of which would negatively impact our business.&#160; However, with two quarters left in the year, and the ongoing need for automation across our network which continues to drive momentum for our Fulfillment product, we are reinstating 2020 annual guidance.</p>      <p>For the full year of 2020, revenue is expected to be in the range of $304.1 million to $305.3 million, representing approximately 9% growth over 2019. Full year net income per diluted share is expected to be in the range of $0.99 to $1.00 with fully diluted weighted average shares outstanding of approximately 36.1 million shares.&#160;&#160; Non-GAAP income per diluted share is expected to be in the range of $1.41 to $1.42. Adjusted EBITDA is expected to be in the range of $82.4 to $83.5 million, representing approximately 18% to 20% growth over 2019. Non-cash, share-based compensation expense is expected to be approximately $19.6 million, depreciation expense is expected to be approximately $13.4 million and amortization expense is expected to be approximately $5.5 million.</p>      <p><strong>Quarterly Conference Call</strong></p>      <p>SPS Commerce will discuss its quarterly results today via teleconference at 3:30 p.m. CT (4:30 p.m. ET). To access the call, please dial (877) 312-7508, or outside the U.S. (253) 237-1184, with Conference ID # 3793818 at least 15 minutes prior to the 3:30 p.m. CT start time. A live webcast of the call will also be available at <u>http://investors.spscommerce.com</u> under the Events and Presentations menu.&#160; The replay will also be available on our website at <u>http://investors.spscommerce.com.</u></p>      <p><strong>About SPS Commerce</strong></p>      <p>SPS Commerce is the world&#8217;s leading retail network, connecting trading partners around the globe to optimize supply chain operations for all retail partners. We support data-driven partnerships with innovative cloud technology, customer-obsessed service and accessible experts so our customers can focus on what they do best. To date, more than 90,000 companies in retail, distribution, grocery and e-commerce have chosen SPS as their retail network. SPS has achieved 78 consecutive quarters of revenue growth and is headquartered in Minneapolis. For additional information, contact SPS at 866-245-8100 or visit www.spscommerce.com.</p>      <p>SPS COMMERCE, SPS, SPS logo, RETAIL UNIVERSE, 1=INFINITY logo, AS THE NETWORK GROWS, SO DOES YOUR OPPORTUNITY, INFINITE RETAIL POWER, RETAIL UNIVERSE are marks of SPS Commerce, Inc. and Registered in the U.S. Patent and Trademark Office. RSX, IN:FLUENCE, and others are further marks of SPS Commerce, Inc. These marks may be registered or otherwise protected in other countries.</p>      <p>SPS-F</p>      <p><strong>Use of Non-GAAP Financial Measures</strong><br >To supplement its financial statements,&#160;SPS Commerce&#160;also provides investors with Adjusted EBITDA and non-GAAP net income per share, which are non-GAAP financial measures.&#160;SPS Commerce&#160;believes that these non-GAAP measures provide useful information to management and investors regarding certain financial and business trends relating to its financial condition and results of operations.&#160;SPS Commerce's&#160;management uses these non-GAAP measures to compare the company's performance to that of prior periods for trend analyses and planning purposes. It uses Adjusted EBITDA for purposes of determining executive and senior management incentive compensation. These measures are also presented to the company's board of directors.</p>      <p>Adjusted EBITDA consists of net income adjusted for depreciation and amortization, investment income (interest income/expense, realized investments gain/loss excluding realized gain/loss from foreign currency on investments), income tax expense, stock-based compensation expense, realized gain/loss from foreign currency on cash and investments held, and other adjustments as necessary for a fair presentation.&#160;SPS Commerce&#160;uses Adjusted EBITDA as a measure of operating performance because it assists the company in comparing performance on a consistent basis, as it removes from operating results the impact of the company's capital structure.&#160;SPS Commerce&#160;believes Adjusted EBITDA is useful to an investor in evaluating the company's operating performance because it is widely used to measure a company's operating performance without regard to items such as depreciation and amortization, which can vary depending upon accounting methods and the book value of assets, and to present a meaningful measure of corporate performance exclusive of the company's capital structure and the method by which assets were acquired.</p>      <p>Non-GAAP income per share consists of net income plus stock-based compensation expense, amortization expense related to intangible assets, realized loss from foreign currency on cash and investments held, and other adjustments as necessary for a fair presentation, divided by the weighted average number of shares of common stock outstanding during each period.&#160;&#160;SPS Commerce&#160;includes an adjustment to non-GAAP income to reflect the income tax effects of the adjustments to GAAP net income.&#160;To quantify these tax effects,&#160;SPS Commerce&#160;recalculates income tax expense excluding the direct book and tax effects of the specific items constituting the non-GAAP adjustments (e.g., stock-based compensation expense). The difference between this recalculated income tax expense and GAAP income tax expense is presented as the income tax effect of the non-GAAP adjustments. SPS Commerce&#160;believes non-GAAP income per share is useful to an investor because it is widely used to measure a company's operating performance.&#160; These non-GAAP measures should not be considered a substitute for, or superior to, financial measures calculated in accordance with generally accepted accounting principles in&#160;the United States. These non-GAAP financial measures exclude significant expenses and income that are required by GAAP to be recorded in the company's financial statements and are subject to inherent limitations.&#160;SPS Commerce&#160;urges investors to review the reconciliation of its non-GAAP financial measures to the comparable GAAP financial measures that are included in this press release.</p>      <p><strong>Forward-Looking Statements</strong><br >This press release contains forward-looking statements, including information about management's view of&#160;SPS Commerce's&#160;future expectations, plans and prospects, including our views regarding future execution within our business, the opportunity we see in the retail supply chain world, our positioning for the future, our performance for the third quarter and full year of 2020, and any statements about the future effect of the COVID-19 pandemic on our business, customers or the global economy and our business prospects, all of which fall within the safe harbor provisions under The Private Securities Litigation Reform Act of 1995. These statements involve known and unknown risks, uncertainties and other factors which may cause the results of&#160;SPS Commerce&#160;to be materially different than those expressed or implied in such statements. Certain of these risk factors and others are included in documents&#160;SPS Commerce&#160;files with the&#160;Securities and Exchange Commission, including but not limited to,&#160;SPS Commerce's&#160;Annual Report on Form 10-K for the year ended&#160;December 31, 2019, as well as subsequent reports filed with the&#160;Securities and Exchange Commission. Other unknown or unpredictable factors also could have material adverse effects on&#160;SPS Commerce's&#160;future results. The forward-looking statements included in this press release are made only as of the date hereof.&#160;SPS Commerce&#160;cannot guarantee future results, levels of activity, performance or achievements. Accordingly, you should not place undue reliance on these forward-looking statements. Finally,&#160;SPS Commerce&#160;expressly disclaims any intent or obligation to update or revise any forward-looking statements, whether as a result of new information, future events, or otherwise.</p>      <p>Contact:<br > Investor Relations<br > The Blueshirt Group<br > Irmina Blaszczyk<br > Lisa Laukkanen<br > <u>SPSC@blueshirtgroup.com</u><br > 415-217-4962&#160;&#160;</p>   <table align="center" style="width:100%; border-collapse:collapse !important;;border-collapse: collapse; "><tr><td colspan="7" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>SPS COMMERCE, INC.</strong></td><td style="vertical-align: bottom ; "><strong>&#160;</strong></td></tr><tr><td colspan="7" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>CONDENSED CONSOLIDATED BALANCE SHEETS</strong></td><td style="vertical-align: bottom ; "><strong>&#160;</strong></td></tr><tr><td colspan="7" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">(Unaudited; in thousands, except share and per share amounts)</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="max-width:77%; width:77%; min-width:77%;;vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;vertical-align: bottom ; ">&#160;</td><td style="max-width:9%; width:9%; min-width:9%;;vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;vertical-align: bottom ; ">&#160;</td><td style="max-width:9%; width:9%; min-width:9%;;vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="2" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>June&#160;30,</strong></td><td style="vertical-align: bottom ; "><strong>&#160;</strong></td><td style="vertical-align: bottom ; ">&#160;</td><td colspan="2" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>December&#160;31,</strong></td><td style="vertical-align: bottom ; "><strong>&#160;</strong></td></tr><tr><td style="vertical-align: bottom ; "><strong>&#160;</strong></td><td colspan="2" style="border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>2020</strong></td><td style="vertical-align: bottom ; "><strong>&#160;</strong></td><td style="vertical-align: bottom ; ">&#160;</td><td colspan="2" style="border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>2019</strong></td><td style="vertical-align: bottom ; "><strong>&#160;</strong></td></tr><tr><td style="text-align: center ;  vertical-align: middle; vertical-align: top ; "><strong>ASSETS</strong></td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: top ; ">CURRENT ASSETS</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">Cash and cash equivalents</td><td style="vertical-align: bottom ; ">$</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">174,850</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">$</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">179,252</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">Short-term investments</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">50,775</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">34,284</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">Accounts receivable</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">37,840</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">33,001</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">Allowance for credit losses</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(3,663</td><td style="vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(1,469</td><td style="vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">Accounts receivable, net</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">34,177</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">31,532</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">Deferred costs</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">35,797</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">35,274</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">Other assets</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">8,378</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">11,279</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; vertical-align: top ; ">Total current assets</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">303,977</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">291,621</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: top ; ">PROPERTY AND EQUIPMENT, less accumulated depreciation of $55,377 and $50,574, respectively</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">25,510</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">23,752</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: top ; ">OPERATING LEASE RIGHT-OF-USE ASSETS</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">14,839</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">15,744</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: top ; ">GOODWILL</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">75,883</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">76,845</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: top ; ">INTANGIBLE ASSETS, net</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">19,790</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">22,668</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: top ; ">INVESTMENTS</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">7,566</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: top ; ">OTHER ASSETS</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">Deferred costs, non-current</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">10,852</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">11,667</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">Deferred income tax assets</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,030</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2,630</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">Other assets, non-current</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2,216</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2,513</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; vertical-align: top ; ">Total assets</td><td style="border-bottom: double black 3pt ; vertical-align: bottom ; ">$</td><td style="border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">461,663</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: double black 3pt ; vertical-align: bottom ; ">$</td><td style="border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">447,440</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: center ;  vertical-align: middle; vertical-align: top ; "><strong>LIABILITIES AND STOCKHOLDERS&#8217; EQUITY</strong></td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: top ; ">CURRENT LIABILITIES</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">Accounts payable</td><td style="vertical-align: bottom ; ">$</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">4,256</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">$</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">4,274</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">Accrued compensation</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">16,950</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">22,303</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">Accrued expenses</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">5,067</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">6,207</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">Deferred revenue</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">36,273</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">31,463</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">Operating lease liabilities</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">4,189</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">3,783</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; vertical-align: top ; ">Total current liabilities</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">66,735</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">68,030</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: top ; ">OTHER LIABILITIES</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">Deferred revenue, non-current</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2,746</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2,851</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">Operating lease liabilities, non-current</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">17,920</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">20,085</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">Deferred income tax liabilities</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">952</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,193</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">Other liabilities, non-current</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">405</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; vertical-align: top ; ">Total liabilities</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">88,353</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">92,564</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: top ; ">COMMITMENTS and CONTINGENCIES</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: top ; ">STOCKHOLDERS&#8217; EQUITY</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">Preferred stock, $0.001 par value; 5,000,000 shares authorized; 0 shares issued and outstanding</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">Common stock, $0.001 par value; 55,000,000 shares authorized; 36,739,368 and 36,104,619 shares issued; and 35,126,118 and 34,863,271 outstanding, respectively</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">37</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">36</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">Treasury stock, at cost; 1,613,250 and 1,241,348 shares, respectively</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(65,247</td><td style="vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(46,297</td><td style="vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">Additional paid-in capital</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">373,686</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">354,115</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">Retained earnings</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">68,613</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">48,973</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">Accumulated other comprehensive loss</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(3,779</td><td style="vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(1,951</td><td style="vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; vertical-align: top ; ">Total stockholders&#8217; equity</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">373,310</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">354,876</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; vertical-align: top ; ">Total liabilities and stockholders&#8217; equity</td><td style="border-bottom: double black 3pt ; vertical-align: bottom ; ">$</td><td style="border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">461,663</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: double black 3pt ; vertical-align: bottom ; ">$</td><td style="border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">447,440</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr></table>   <p><br ></p>   <table align="center" style="width:100%; border-collapse:collapse !important;;border-collapse: collapse; "><tr><td colspan="15" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>SPS COMMERCE, INC.</strong></td><td style="vertical-align: bottom ; "><strong>&#160;</strong></td></tr><tr><td colspan="15" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>CONDENSED CONSOLIDATED STATEMENTS OF INCOME</strong></td><td style="vertical-align: bottom ; "><strong>&#160;</strong></td></tr><tr><td colspan="15" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">(Unaudited, in thousands, except per share amounts)</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="max-width:53%; width:53%; min-width:53%;;vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;vertical-align: bottom ; ">&#160;</td><td style="max-width:9%; width:9%; min-width:9%;;vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;vertical-align: bottom ; ">&#160;</td><td style="max-width:9%; width:9%; min-width:9%;;vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;vertical-align: bottom ; ">&#160;</td><td style="max-width:9%; width:9%; min-width:9%;;vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;vertical-align: bottom ; ">&#160;</td><td style="max-width:9%; width:9%; min-width:9%;;vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="6" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>Three Months Ended</strong></td><td style="vertical-align: bottom ; "><strong>&#160;</strong></td><td style="vertical-align: bottom ; "><strong>&#160;</strong></td><td colspan="6" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>Six Months Ended</strong></td><td style="vertical-align: bottom ; "><strong>&#160;</strong></td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="6" style="border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>June&#160;30,</strong></td><td style="vertical-align: bottom ; "><strong>&#160;</strong></td><td style="vertical-align: bottom ; "><strong>&#160;</strong></td><td colspan="6" style="border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>June&#160;30,</strong></td><td style="vertical-align: bottom ; "><strong>&#160;</strong></td></tr><tr><td style="vertical-align: bottom ; "><strong>&#160;</strong></td><td colspan="2" style="border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>2020</strong></td><td style="vertical-align: bottom ; "><strong>&#160;</strong></td><td style="border-top: solid black 1pt ; vertical-align: bottom ; "><strong>&#160;</strong></td><td colspan="2" style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>2019</strong></td><td style="vertical-align: bottom ; "><strong>&#160;</strong></td><td style="vertical-align: bottom ; "><strong>&#160;</strong></td><td colspan="2" style="border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>2020</strong></td><td style="vertical-align: bottom ; "><strong>&#160;</strong></td><td style="border-top: solid black 1pt ; vertical-align: bottom ; "><strong>&#160;</strong></td><td colspan="2" style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>2019</strong></td><td style="vertical-align: bottom ; "><strong>&#160;</strong></td></tr><tr><td style="vertical-align: top ; ">Revenues</td><td style="vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">75,573</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">68,529</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">149,765</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">135,463</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: top ; ">Cost of revenues</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">24,326</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">23,700</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">47,870</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">45,067</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">Gross profit</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">51,247</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">44,829</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">101,895</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">90,396</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: top ; ">Operating expenses</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">Sales and marketing</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">18,611</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">17,545</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">36,910</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">35,467</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">Research and development</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">7,466</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">6,509</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">15,034</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">12,701</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">General and administrative</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">12,743</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">10,179</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">24,652</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">22,949</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">Amortization of intangible assets</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,316</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,266</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2,652</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2,570</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; vertical-align: top ; ">Total operating expenses</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">40,136</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">35,499</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">79,248</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">73,687</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: top ; ">Income from operations</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">11,111</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">9,330</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">22,647</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">16,709</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: top ; ">Other income (expense)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">Interest income, net</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">226</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">813</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">866</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,390</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">Other income, net</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,242</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">240</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">193</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">Change in earn-out liability</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">400</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(72</td><td style="vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">344</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; vertical-align: top ; ">Total other income, net</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,468</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,453</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">795</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,927</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: top ; ">Income before income taxes</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">12,579</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">10,783</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">23,442</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">18,636</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">Income tax expense</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,385</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,987</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2,733</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">3,027</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: top ; ">Net income</td><td style="border-bottom: double black 3pt ; vertical-align: bottom ; ">$</td><td style="border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">11,194</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: double black 3pt ; vertical-align: bottom ; ">$</td><td style="border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">8,796</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: double black 3pt ; vertical-align: bottom ; ">$</td><td style="border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">20,709</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: double black 3pt ; vertical-align: bottom ; ">$</td><td style="border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">15,609</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: top ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: top ; ">Net income per share</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">Basic</td><td style="vertical-align: bottom ; ">$</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.32</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">$</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.25</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">$</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.59</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">$</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.45</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">Diluted</td><td style="vertical-align: bottom ; ">$</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.31</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">$</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.24</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">$</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.58</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">$</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.43</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: top ; ">Weighted average common shares used to compute net income per share</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">Basic</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">35,030</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">35,010</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">35,051</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">34,976</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">Diluted</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">36,016</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">36,020</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">35,995</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">36,006</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr></table>   <p><em>Shares and per share data have been adjusted for all periods presented to reflect a two-for-one stock split effective August 22, 2019. </em></p>   <table align="center" style="width:100%; border-collapse:collapse !important;;border-collapse: collapse; "><tr><td colspan="7" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>SPS COMMERCE, INC.</strong></td><td style="vertical-align: bottom ; "><strong>&#160;</strong></td></tr><tr><td colspan="7" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS</strong></td><td style="vertical-align: bottom ; "><strong>&#160;</strong></td></tr><tr><td colspan="7" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">(Unaudited; in thousands)</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="max-width:77%; width:77%; min-width:77%;;text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>&#160;</strong></td><td style="max-width:1%; width:1%; min-width:1%;;vertical-align: bottom ; ">&#160;</td><td style="max-width:9%; width:9%; min-width:9%;;text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;vertical-align: bottom ; ">&#160;</td><td style="max-width:9%; width:9%; min-width:9%;;text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="6" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>Six Months Ended</strong></td><td style="vertical-align: bottom ; "><strong>&#160;</strong></td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="6" style="border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>June&#160;30,</strong></td><td style="vertical-align: bottom ; "><strong>&#160;</strong></td></tr><tr><td style="vertical-align: bottom ; "><strong>&#160;</strong></td><td colspan="2" style="border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>2020</strong></td><td style="vertical-align: bottom ; "><strong>&#160;</strong></td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td colspan="2" style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>2019</strong></td><td style="vertical-align: bottom ; "><strong>&#160;</strong></td></tr><tr><td style="vertical-align: top ; ">Cash flows from operating activities</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Net income</td><td style="vertical-align: bottom ; ">$</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">20,709</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">$</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">15,609</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Reconciliation of net income to net cash provided by operating activities</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Deferred income taxes</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,443</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2,634</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Change in earn-out liability</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">72</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(344</td><td style="vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Depreciation and amortization of property and equipment</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">6,276</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">5,324</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Amortization of intangible assets</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2,652</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2,570</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Provision for credit losses</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">3,020</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,504</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Stock-based compensation</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">9,353</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">8,169</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Other, net</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(129</td><td style="vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(357</td><td style="vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Changes in assets and liabilities</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 25.0px; vertical-align: bottom ; ">Accounts receivable</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(7,071</td><td style="vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(4,769</td><td style="vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 25.0px; vertical-align: bottom ; ">Deferred costs</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">275</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(56</td><td style="vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 25.0px; vertical-align: bottom ; ">Other current and non-current assets</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">3,141</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(549</td><td style="vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 25.0px; vertical-align: bottom ; ">Accounts payable</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">321</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(490</td><td style="vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 25.0px; vertical-align: bottom ; ">Accrued compensation</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(6,166</td><td style="vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(5,210</td><td style="vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 25.0px; vertical-align: bottom ; ">Accrued expenses</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(964</td><td style="vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">404</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 25.0px; vertical-align: bottom ; ">Deferred revenue</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">4,705</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">5,250</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 25.0px; vertical-align: bottom ; ">Operating leases</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(842</td><td style="vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(27</td><td style="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 operating activities</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">36,795</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">29,662</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: top ; ">Cash flows from investing activities</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</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="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(8,396</td><td style="vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(5,351</td><td style="vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Purchases of investments</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(55,144</td><td style="vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(44,548</td><td style="vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Maturities of investments</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">31,050</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">37,725</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Net cash used in investing activities</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(32,490</td><td style="vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(12,174</td><td style="vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: top ; ">Cash flows from financing activities</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: top ; ">Repurchases of common stock</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(18,950</td><td style="vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(8,966</td><td style="vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: top ; ">Net proceeds from exercise of options to purchase common stock</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">9,426</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">3,371</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: top ; ">Net proceeds from employee stock purchase plan</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,550</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,079</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: top ; ">Payment for earn-out liability</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(688</td><td style="vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: top ; ">Net cash used in financing activities</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(8,662</td><td style="vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(4,516</td><td style="vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: bottom ; ">Effect of foreign currency exchange rate changes</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(45</td><td style="vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">192</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Net increase in cash and cash equivalents</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(4,402</td><td style="vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">13,164</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Cash and cash equivalents at beginning of period</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">179,252</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">133,859</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Cash and cash equivalents at end of period</td><td style="border-bottom: double black 3pt ; vertical-align: bottom ; ">$</td><td style="border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">174,850</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: double black 3pt ; vertical-align: bottom ; ">$</td><td style="border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">147,023</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr></table>   <p><br ></p>   <table align="center" style="width:100%; border-collapse:collapse !important;;border-collapse: collapse; "><tr><td colspan="15" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>SPS COMMERCE, INC.</strong></td><td style="vertical-align: bottom ; "><strong>&#160;</strong></td></tr><tr><td colspan="15" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>NON-GAAP RECONCILIATION</strong></td><td style="vertical-align: bottom ; "><strong>&#160;</strong></td></tr><tr><td colspan="15" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">(Unaudited; in thousands, except per share amounts)</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="max-width:53%; width:53%; min-width:53%;;text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;vertical-align: bottom ; ">&#160;</td><td style="max-width:9%; width:9%; min-width:9%;;text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;vertical-align: bottom ; ">&#160;</td><td style="max-width:9%; width:9%; min-width:9%;;text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;vertical-align: bottom ; ">&#160;</td><td style="max-width:9%; width:9%; min-width:9%;;text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;vertical-align: bottom ; ">&#160;</td><td style="max-width:9%; width:9%; min-width:9%;;text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="6" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>Three Months Ended</strong></td><td style="vertical-align: bottom ; "><strong>&#160;</strong></td><td style="vertical-align: bottom ; ">&#160;</td><td colspan="6" style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>Six Months Ended</strong></td><td style="vertical-align: bottom ; "><strong>&#160;</strong></td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="6" style="border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>June&#160;30,</strong></td><td style="vertical-align: bottom ; "><strong>&#160;</strong></td><td style="vertical-align: bottom ; ">&#160;</td><td colspan="6" style="border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>June&#160;30,</strong></td><td style="vertical-align: bottom ; "><strong>&#160;</strong></td></tr><tr><td style="vertical-align: bottom ; "><strong>&#160;</strong></td><td colspan="2" style="border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>2020</strong></td><td style="vertical-align: bottom ; "><strong>&#160;</strong></td><td style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td colspan="2" style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>2019</strong></td><td style="vertical-align: bottom ; "><strong>&#160;</strong></td><td style="vertical-align: bottom ; ">&#160;</td><td colspan="2" style="border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>2020</strong></td><td style="vertical-align: bottom ; "><strong>&#160;</strong></td><td style="border-top: solid black 1pt ; vertical-align: bottom ; "><strong>&#160;</strong></td><td colspan="2" style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>2019</strong></td><td style="vertical-align: bottom ; "><strong>&#160;</strong></td></tr><tr><td style="vertical-align: top ; ">Net income</td><td style="vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">11,194</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">8,796</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">20,709</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">15,609</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Depreciation and amortization of property and equipment</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">3,138</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2,688</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">6,276</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">5,324</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Amortization of intangible assets</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,316</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,266</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2,652</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2,570</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Investment income, net</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(332</td><td style="vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(813</td><td style="vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(972</td><td style="vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(1,390</td><td style="vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Income tax expense</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,385</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,987</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2,733</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">3,027</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Stock-based compensation expense</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">5,009</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2,875</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">9,353</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">8,169</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Realized gain from foreign currency on cash and investments held</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(1,370</td><td style="vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">-</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(127</td><td style="vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">-</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Other</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">82</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(400</td><td style="vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">154</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(461</td><td style="vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: bottom ; ">Adjusted EBITDA</td><td style="border-bottom: double black 3pt ; vertical-align: bottom ; ">$</td><td style="border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">20,422</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: double black 3pt ; vertical-align: bottom ; ">$</td><td style="border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">16,399</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: double black 3pt ; vertical-align: bottom ; ">$</td><td style="border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">40,778</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: double black 3pt ; vertical-align: bottom ; ">$</td><td style="border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">32,848</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Net income</td><td style="vertical-align: bottom ; ">$</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">11,194</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">$</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">8,796</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">$</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">20,709</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">$</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">15,609</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Stock-based compensation expense</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">5,009</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2,875</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">9,353</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">8,169</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Amortization of intangible assets</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,316</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,266</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2,652</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2,570</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Realized gain from foreign currency on cash and investments held</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(1,370</td><td style="vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">-</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(127</td><td style="vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">-</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Other</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">82</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(400</td><td style="vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">154</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(461</td><td style="vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Income tax effects of adjustments</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(2,886</td><td style="vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(1,723</td><td style="vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(5,912</td><td style="vertical-align: bottom ; ">)</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(4,366</td><td style="vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: bottom ; ">Non-GAAP income</td><td style="border-bottom: double black 3pt ; vertical-align: bottom ; ">$</td><td style="border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">13,345</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: double black 3pt ; vertical-align: bottom ; ">$</td><td style="border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">10,814</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: double black 3pt ; vertical-align: bottom ; ">$</td><td style="border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">26,829</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="border-bottom: double black 3pt ; vertical-align: bottom ; ">$</td><td style="border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">21,521</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: top ; ">Shares used to compute non-GAAP income per share</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Basic</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">35,030</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">35,010</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">35,051</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">34,976</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Diluted</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">36,016</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">36,020</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">35,995</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">36,006</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Non-GAAP income per share</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Basic</td><td style="vertical-align: bottom ; ">$</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.38</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">$</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.31</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">$</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.77</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">$</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.62</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Diluted</td><td style="vertical-align: bottom ; ">$</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.37</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">$</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.30</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">$</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.75</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">$</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.60</td><td style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">&#160;</td></tr></table>   <p><em>Shares and per share data have been adjusted for all periods presented to reflect a two-for-one stock split effective August 22, 2019.</em></p>      <p>Contact:<br >Investor Relations<br >The Blueshirt Group<br >Irmina Blaszczyk<br >Lisa Laukkanen<br >SPSC@blueshirtgroup.com<br >415-217-4962</p> </p><p ></p></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>3
<FILENAME>gnw-20190101.xsd
<DESCRIPTION>XBRL SCHEMA FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" ?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:dei="http://xbrl.sec.gov/dei/2019-01-31" xmlns:us-gaap="http://fasb.org/us-gaap/2019-01-31" xmlns:srt="http://fasb.org/srt/2019-01-31" xmlns:srt-types="http://fasb.org/srt-types/2019-01-31" xmlns:gnw="http://globenewswire.com/20190101" elementFormDefault="qualified" targetNamespace="http://globenewswire.com/20190101">
    <annotation>
      <appinfo>
	<link:roleType roleURI="http://globenewswire.com/role/Cover" id="Cover">
	  <link:definition>00000001 - Document - Cover</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:linkbaseRef xlink:type="simple" xlink:href="gnw-20190101_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Presentation Links" />
	<link:linkbaseRef xlink:type="simple" xlink:href="gnw-20190101_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Label Links" />
	<link:linkbaseRef xlink:type="simple" xlink:href="gnw-20190101_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Definition Links" />
      </appinfo>
    </annotation>
    <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" />
    <import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" />
    <import namespace="http://xbrl.sec.gov/dei/2019-01-31" schemaLocation="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd" />
    <import namespace="http://fasb.org/us-gaap/2019-01-31" schemaLocation="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd" />
    <import namespace="http://fasb.org/us-types/2019-01-31" schemaLocation="http://xbrl.fasb.org/us-gaap/2019/elts/us-types-2019-01-31.xsd" />
    <import namespace="http://www.xbrl.org/dtr/type/non-numeric" schemaLocation="http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd" />
    <import namespace="http://www.xbrl.org/dtr/type/numeric" schemaLocation="http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd" />
    <import namespace="http://xbrl.sec.gov/country/2017-01-31" schemaLocation="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd" />
    <import namespace="http://fasb.org/srt/2019-01-31" schemaLocation="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd" />
    <import namespace="http://fasb.org/srt-types/2019-01-31" schemaLocation="http://xbrl.fasb.org/srt/2019/elts/srt-types-2019-01-31.xsd" />
</schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>4
<FILENAME>gnw-20190101_def.xml
<DESCRIPTION>XBRL DEFINITION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef roleURI="http://globenewswire.com/role/Cover" xlink:href="gnw-20190101.xsd#Cover" xlink:type="simple" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" arcroleURI="http://xbrl.org/int/dim/arcrole/all" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#notAll" arcroleURI="http://xbrl.org/int/dim/arcrole/notAll" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" />
    <link:definitionLink xlink:type="extended" xlink:role="http://globenewswire.com/role/Cover" xlink:title="00000001 - Document - Cover">
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.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="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.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="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.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="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.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="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonClassAMember" xlink:label="loc_us-gaapCommonClassAMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_us-gaapCommonClassAMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PreferredClassAMember" xlink:label="loc_us-gaapPreferredClassAMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_us-gaapPreferredClassAMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.xsd#dei_CurrentFiscalYearEndDate" xlink:label="loc_deiCurrentFiscalYearEndDate_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiCurrentFiscalYearEndDate_40" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityFileNumber" xlink:label="loc_deiEntityFileNumber_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityFileNumber_40" xlink:type="arc" order="12" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityRegistrantName" xlink:label="loc_deiEntityRegistrantName_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityRegistrantName_40" xlink:type="arc" order="13" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCentralIndexKey" xlink:label="loc_deiEntityCentralIndexKey_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityCentralIndexKey_40" xlink:type="arc" order="14" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityPrimarySicNumber" xlink:label="loc_deiEntityPrimarySicNumber_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityPrimarySicNumber_40" xlink:type="arc" order="15" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityTaxIdentificationNumber" xlink:label="loc_deiEntityTaxIdentificationNumber_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityTaxIdentificationNumber_40" xlink:type="arc" order="16" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="loc_deiEntityIncorporationStateCountryCode_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityIncorporationStateCountryCode_40" xlink:type="arc" order="17" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressAddressLine1" xlink:label="loc_deiEntityAddressAddressLine1_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityAddressAddressLine1_40" xlink:type="arc" order="18" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressAddressLine2" xlink:label="loc_deiEntityAddressAddressLine2_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityAddressAddressLine2_40" xlink:type="arc" order="19" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressAddressLine3" xlink:label="loc_deiEntityAddressAddressLine3_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityAddressAddressLine3_40" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressCityOrTown" xlink:label="loc_deiEntityAddressCityOrTown_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityAddressCityOrTown_40" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressStateOrProvince" xlink:label="loc_deiEntityAddressStateOrProvince_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityAddressStateOrProvince_40" xlink:type="arc" order="22" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressCountry" xlink:label="loc_deiEntityAddressCountry_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityAddressCountry_40" xlink:type="arc" order="23" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressPostalZipCode" xlink:label="loc_deiEntityAddressPostalZipCode_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityAddressPostalZipCode_40" xlink:type="arc" order="24" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CountryRegion" xlink:label="loc_deiCountryRegion_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiCountryRegion_40" xlink:type="arc" order="25" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CityAreaCode" xlink:label="loc_deiCityAreaCode_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiCityAreaCode_40" xlink:type="arc" order="26" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LocalPhoneNumber" xlink:label="loc_deiLocalPhoneNumber_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiLocalPhoneNumber_40" xlink:type="arc" order="27" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_Extension" xlink:label="loc_deiExtension_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiExtension_40" xlink:type="arc" order="28" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_WrittenCommunications" xlink:label="loc_deiWrittenCommunications_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiWrittenCommunications_40" xlink:type="arc" order="29" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_SolicitingMaterial" xlink:label="loc_deiSolicitingMaterial_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiSolicitingMaterial_40" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_PreCommencementTenderOffer" xlink:label="loc_deiPreCommencementTenderOffer_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiPreCommencementTenderOffer_40" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="loc_deiPreCommencementIssuerTenderOffer_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiPreCommencementIssuerTenderOffer_40" xlink:type="arc" order="32" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_Security12bTitle" xlink:label="loc_deiSecurity12bTitle_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiSecurity12bTitle_40" xlink:type="arc" order="33" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_NoTradingSymbolFlag" xlink:label="loc_deiNoTradingSymbolFlag_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiNoTradingSymbolFlag_40" xlink:type="arc" order="34" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_TradingSymbol" xlink:label="loc_deiTradingSymbol_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiTradingSymbol_40" xlink:type="arc" order="35" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_SecurityExchangeName" xlink:label="loc_deiSecurityExchangeName_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiSecurityExchangeName_40" xlink:type="arc" order="36" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_Security12gTitle" xlink:label="loc_deiSecurity12gTitle_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiSecurity12gTitle_40" xlink:type="arc" order="37" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_SecurityReportingObligation" xlink:label="loc_deiSecurityReportingObligation_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiSecurityReportingObligation_40" xlink:type="arc" order="38" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_AnnualInformationForm" xlink:label="loc_deiAnnualInformationForm_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiAnnualInformationForm_40" xlink:type="arc" order="39" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_AuditedAnnualFinancialStatements" xlink:label="loc_deiAuditedAnnualFinancialStatements_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiAuditedAnnualFinancialStatements_40" xlink:type="arc" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="loc_deiEntityWellKnownSeasonedIssuer_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityWellKnownSeasonedIssuer_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityVoluntaryFilers" xlink:label="loc_deiEntityVoluntaryFilers_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityVoluntaryFilers_40" xlink:type="arc" order="42" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCurrentReportingStatus" xlink:label="loc_deiEntityCurrentReportingStatus_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityCurrentReportingStatus_40" xlink:type="arc" order="43" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityInteractiveDataCurrent" xlink:label="loc_deiEntityInteractiveDataCurrent_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityInteractiveDataCurrent_40" xlink:type="arc" order="44" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityFilerCategory" xlink:label="loc_deiEntityFilerCategory_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityFilerCategory_40" xlink:type="arc" order="45" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntitySmallBusiness" xlink:label="loc_deiEntitySmallBusiness_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntitySmallBusiness_40" xlink:type="arc" order="46" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityEmergingGrowthCompany" xlink:label="loc_deiEntityEmergingGrowthCompany_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityEmergingGrowthCompany_40" xlink:type="arc" order="47" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityExTransitionPeriod" xlink:label="loc_deiEntityExTransitionPeriod_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityExTransitionPeriod_40" xlink:type="arc" order="48" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentAccountingStandard" xlink:label="loc_deiDocumentAccountingStandard_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentAccountingStandard_40" xlink:type="arc" order="49" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_OtherReportingStandardItemNumber" xlink:label="loc_deiOtherReportingStandardItemNumber_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiOtherReportingStandardItemNumber_40" xlink:type="arc" order="50" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityShellCompany" xlink:label="loc_deiEntityShellCompany_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityShellCompany_40" xlink:type="arc" order="51" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityPublicFloat" xlink:label="loc_deiEntityPublicFloat_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityPublicFloat_40" xlink:type="arc" order="52" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityBankruptcyProceedingsReportingCurrent" xlink:label="loc_deiEntityBankruptcyProceedingsReportingCurrent_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityBankruptcyProceedingsReportingCurrent_40" xlink:type="arc" order="53" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="loc_deiEntityCommonStockSharesOutstanding_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityCommonStockSharesOutstanding_40" xlink:type="arc" order="54" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="loc_deiDocumentsIncorporatedByReferenceTextBlock_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentsIncorporatedByReferenceTextBlock_40" xlink:type="arc" order="55" />
    </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>5
<FILENAME>gnw-20190101_lab.xml
<DESCRIPTION>XBRL LABEL FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" roleURI="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" roleURI="http://www.xbrl.org/2009/role/netLabel" />
    <link:labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.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="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonClassAMember" xlink:label="us-gaap_CommonClassAMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonClassAMember" xlink:to="us-gaap_CommonClassAMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonClassAMember_lbl" xml:lang="en-US">Common Class A [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PreferredClassAMember" xlink:label="us-gaap_PreferredClassAMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredClassAMember" xlink:to="us-gaap_PreferredClassAMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredClassAMember_lbl" xml:lang="en-US">Preferred Class A [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.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="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentsIncorporatedByReferenceTextBlock" xlink:to="dei_DocumentsIncorporatedByReferenceTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock_lbl" xml:lang="en-US">Documents Incorporated by Reference [Text Block]</link:label>
    </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>6
<FILENAME>gnw-20190101_pre.xml
<DESCRIPTION>XBRL PRESENTATION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef roleURI="http://globenewswire.com/role/Cover" xlink:href="gnw-20190101.xsd#Cover" xlink:type="simple" />
    <link:presentationLink xlink:type="extended" xlink:role="http://globenewswire.com/role/Cover" xlink:title="00000001 - Document - Cover">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CoverAbstract" xlink:label="loc_deiCoverAbstract" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.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="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.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="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.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="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.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="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonClassAMember" xlink:label="loc_us-gaapCommonClassAMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_us-gaapCommonClassAMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PreferredClassAMember" xlink:label="loc_us-gaapPreferredClassAMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_us-gaapPreferredClassAMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.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/2019/dei-2019-01-31.xsd#dei_CurrentFiscalYearEndDate" xlink:label="loc_deiCurrentFiscalYearEndDate" />
      <link:presentationArc order="110" 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/2019/dei-2019-01-31.xsd#dei_EntityFileNumber" xlink:label="loc_deiEntityFileNumber" />
      <link:presentationArc order="120" 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/2019/dei-2019-01-31.xsd#dei_EntityRegistrantName" xlink:label="loc_deiEntityRegistrantName" />
      <link:presentationArc order="130" 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/2019/dei-2019-01-31.xsd#dei_EntityCentralIndexKey" xlink:label="loc_deiEntityCentralIndexKey" />
      <link:presentationArc order="140" 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/2019/dei-2019-01-31.xsd#dei_EntityPrimarySicNumber" xlink:label="loc_deiEntityPrimarySicNumber" />
      <link:presentationArc order="150" 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/2019/dei-2019-01-31.xsd#dei_EntityTaxIdentificationNumber" xlink:label="loc_deiEntityTaxIdentificationNumber" />
      <link:presentationArc order="160" 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/2019/dei-2019-01-31.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="loc_deiEntityIncorporationStateCountryCode" />
      <link:presentationArc order="170" 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/2019/dei-2019-01-31.xsd#dei_EntityAddressAddressLine1" xlink:label="loc_deiEntityAddressAddressLine1" />
      <link:presentationArc order="180" 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/2019/dei-2019-01-31.xsd#dei_EntityAddressAddressLine2" xlink:label="loc_deiEntityAddressAddressLine2" />
      <link:presentationArc order="190" 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/2019/dei-2019-01-31.xsd#dei_EntityAddressAddressLine3" xlink:label="loc_deiEntityAddressAddressLine3" />
      <link:presentationArc order="200" 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/2019/dei-2019-01-31.xsd#dei_EntityAddressCityOrTown" xlink:label="loc_deiEntityAddressCityOrTown" />
      <link:presentationArc order="210" 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/2019/dei-2019-01-31.xsd#dei_EntityAddressStateOrProvince" xlink:label="loc_deiEntityAddressStateOrProvince" />
      <link:presentationArc order="220" 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/2019/dei-2019-01-31.xsd#dei_EntityAddressCountry" xlink:label="loc_deiEntityAddressCountry" />
      <link:presentationArc order="230" 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/2019/dei-2019-01-31.xsd#dei_EntityAddressPostalZipCode" xlink:label="loc_deiEntityAddressPostalZipCode" />
      <link:presentationArc order="240" 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/2019/dei-2019-01-31.xsd#dei_CountryRegion" xlink:label="loc_deiCountryRegion" />
      <link:presentationArc order="250" 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/2019/dei-2019-01-31.xsd#dei_CityAreaCode" xlink:label="loc_deiCityAreaCode" />
      <link:presentationArc order="260" 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/2019/dei-2019-01-31.xsd#dei_LocalPhoneNumber" xlink:label="loc_deiLocalPhoneNumber" />
      <link:presentationArc order="270" 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/2019/dei-2019-01-31.xsd#dei_Extension" xlink:label="loc_deiExtension" />
      <link:presentationArc order="280" 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/2019/dei-2019-01-31.xsd#dei_WrittenCommunications" xlink:label="loc_deiWrittenCommunications" />
      <link:presentationArc order="290" 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/2019/dei-2019-01-31.xsd#dei_SolicitingMaterial" xlink:label="loc_deiSolicitingMaterial" />
      <link:presentationArc order="300" 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/2019/dei-2019-01-31.xsd#dei_PreCommencementTenderOffer" xlink:label="loc_deiPreCommencementTenderOffer" />
      <link:presentationArc order="310" 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/2019/dei-2019-01-31.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="loc_deiPreCommencementIssuerTenderOffer" />
      <link:presentationArc order="320" 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/2019/dei-2019-01-31.xsd#dei_Security12bTitle" xlink:label="loc_deiSecurity12bTitle" />
      <link:presentationArc order="330" 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/2019/dei-2019-01-31.xsd#dei_NoTradingSymbolFlag" xlink:label="loc_deiNoTradingSymbolFlag" />
      <link:presentationArc order="340" 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/2019/dei-2019-01-31.xsd#dei_TradingSymbol" xlink:label="loc_deiTradingSymbol" />
      <link:presentationArc order="350" 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/2019/dei-2019-01-31.xsd#dei_SecurityExchangeName" xlink:label="loc_deiSecurityExchangeName" />
      <link:presentationArc order="360" 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/2019/dei-2019-01-31.xsd#dei_Security12gTitle" xlink:label="loc_deiSecurity12gTitle" />
      <link:presentationArc order="370" 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/2019/dei-2019-01-31.xsd#dei_SecurityReportingObligation" xlink:label="loc_deiSecurityReportingObligation" />
      <link:presentationArc order="380" 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/2019/dei-2019-01-31.xsd#dei_AnnualInformationForm" xlink:label="loc_deiAnnualInformationForm" />
      <link:presentationArc order="390" 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/2019/dei-2019-01-31.xsd#dei_AuditedAnnualFinancialStatements" xlink:label="loc_deiAuditedAnnualFinancialStatements" />
      <link:presentationArc order="400" 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/2019/dei-2019-01-31.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="loc_deiEntityWellKnownSeasonedIssuer" />
      <link:presentationArc order="410" 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/2019/dei-2019-01-31.xsd#dei_EntityVoluntaryFilers" xlink:label="loc_deiEntityVoluntaryFilers" />
      <link:presentationArc order="420" 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/2019/dei-2019-01-31.xsd#dei_EntityCurrentReportingStatus" xlink:label="loc_deiEntityCurrentReportingStatus" />
      <link:presentationArc order="430" 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/2019/dei-2019-01-31.xsd#dei_EntityInteractiveDataCurrent" xlink:label="loc_deiEntityInteractiveDataCurrent" />
      <link:presentationArc order="440" 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/2019/dei-2019-01-31.xsd#dei_EntityFilerCategory" xlink:label="loc_deiEntityFilerCategory" />
      <link:presentationArc order="450" 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/2019/dei-2019-01-31.xsd#dei_EntitySmallBusiness" xlink:label="loc_deiEntitySmallBusiness" />
      <link:presentationArc order="460" 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/2019/dei-2019-01-31.xsd#dei_EntityEmergingGrowthCompany" xlink:label="loc_deiEntityEmergingGrowthCompany" />
      <link:presentationArc order="470" 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/2019/dei-2019-01-31.xsd#dei_EntityExTransitionPeriod" xlink:label="loc_deiEntityExTransitionPeriod" />
      <link:presentationArc order="480" 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/2019/dei-2019-01-31.xsd#dei_DocumentAccountingStandard" xlink:label="loc_deiDocumentAccountingStandard" />
      <link:presentationArc order="490" 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/2019/dei-2019-01-31.xsd#dei_OtherReportingStandardItemNumber" xlink:label="loc_deiOtherReportingStandardItemNumber" />
      <link:presentationArc order="500" 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/2019/dei-2019-01-31.xsd#dei_EntityShellCompany" xlink:label="loc_deiEntityShellCompany" />
      <link:presentationArc order="510" 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/2019/dei-2019-01-31.xsd#dei_EntityPublicFloat" xlink:label="loc_deiEntityPublicFloat" />
      <link:presentationArc order="520" 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/2019/dei-2019-01-31.xsd#dei_EntityBankruptcyProceedingsReportingCurrent" xlink:label="loc_deiEntityBankruptcyProceedingsReportingCurrent" />
      <link:presentationArc order="530" 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/2019/dei-2019-01-31.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="loc_deiEntityCommonStockSharesOutstanding" />
      <link:presentationArc order="540" 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/2019/dei-2019-01-31.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="loc_deiDocumentsIncorporatedByReferenceTextBlock" />
      <link:presentationArc order="550" 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>7
<FILENAME>f8k_073020_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/2019-01-31"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="gnw-20190101.xsd" xlink:type="simple"/>
    <context id="Form8K">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001092699</identifier>
        </entity>
        <period>
            <startDate>2020-07-30</startDate>
            <endDate>2020-07-30</endDate>
        </period>
    </context>
    <unit id="USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Shares">
        <measure>shares</measure>
    </unit>
    <unit id="USDPShares">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <dei:EntityCentralIndexKey contextRef="Form8K">0001092699</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag contextRef="Form8K">false</dei:AmendmentFlag>
    <dei:DocumentType contextRef="Form8K">8-K</dei:DocumentType>
    <dei:DocumentPeriodEndDate contextRef="Form8K">2020-07-30</dei:DocumentPeriodEndDate>
    <dei:EntityRegistrantName contextRef="Form8K">SPS COMMERCE, INC.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="Form8K">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityFileNumber contextRef="Form8K">001-34702</dei:EntityFileNumber>
    <dei:EntityTaxIdentificationNumber contextRef="Form8K">41-2015127</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="Form8K">333 South Seventh Street, Suite 1000</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="Form8K">Minneapolis</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="Form8K">MN</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="Form8K">55402</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="Form8K">612</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="Form8K">435-9400</dei:LocalPhoneNumber>
    <dei:WrittenCommunications contextRef="Form8K">false</dei:WrittenCommunications>
    <dei:SolicitingMaterial contextRef="Form8K">false</dei:SolicitingMaterial>
    <dei:PreCommencementTenderOffer contextRef="Form8K">false</dei:PreCommencementTenderOffer>
    <dei:PreCommencementIssuerTenderOffer contextRef="Form8K">false</dei:PreCommencementIssuerTenderOffer>
    <dei:Security12bTitle contextRef="Form8K">Common stock, par value $0.001 per share</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="Form8K">SPSC</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="Form8K">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityEmergingGrowthCompany contextRef="Form8K">false</dei:EntityEmergingGrowthCompany>
</xbrl>
</XML>
</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="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.2</span><table class="report" border="0" cellspacing="2" id="idm140107435394664">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Cover<br></strong></div></th>
<th class="th"><div>Jul. 30, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_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="top.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="top.Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Jul. 30,  2020<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">001-34702<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">SPS COMMERCE, 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="top.Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001092699<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">41-2015127<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_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="top.Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">333 South Seventh Street, Suite 1000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Minneapolis<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">MN<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">55402<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">612<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">435-9400<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_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="top.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="top.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="top.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="top.Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common stock, par value $0.001 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="top.Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">SPSC<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The end date of the period reflected on the cover page if a periodic report. For all other reports and registration statements containing historical data, it is the date up through which that historical data is presented.  If there is no historical data in the report, use the filing date. The format of the date is CCYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_PreCommencementIssuerTenderOffer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 13e<br> -Subsection 4c<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 14d<br> -Subsection 2b<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SolicitingMaterial">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Section 14a<br> -Number 240<br> -Subsection 12<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_WrittenCommunications">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br> -Section 425<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_WrittenCommunications</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>9
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
ME;ZOKZ'A@\3SELSI'G^%6@SJW5;U$+[+4K7'7\+?G=S-#?<[M_@%4$L#!!0
M   ( ):5_E"7BKL<P    !,"   +    7W)E;',O+G)E;'.=DKENPS ,0'_%
MT)XP!] AB#-E\18$^0%6H@_8$@6*19V_K]JE<9 +&7D]/!+<'FE [3BDMHNI
M&/T04FE:U;@!2+8ECVG.D4*NU"P>-8?20$3;8T.P6BP^0"X99K>]9!:G<Z17
MB%S7G:4]VR]/06^ KSI,<4)I2$LS#O#-TG\R]_,,-47E2B.56QIXT^7^=N!)
MT:$B6!::1<G3HAVE?QW']I#3Z:]C(K1Z6^CY<6A4"H[<8R6,<6*T_C6"R0_L
M?@!02P,$%     @ EI7^4*K$(A8S 0  (@(   \   !X;"]W;W)K8F]O:RYX
M;6R-4=%NPC ,_)4J'[ 6M"$-45Y VY"F#8V)]]"ZU"*)*\>%C:^?VZH:TE[V
ME-S9NMQ=%A?BTX'HE'QY%V)N:I%FGJ:QJ,';>$<-!)U4Q-Z*0CZFL6&P9:P!
MQ+MTFF6SU%L,9KD8M;:<W@(2* 0I*-D1>X1+_)UW,#ECQ ,ZE._<]'<')O$8
MT.,5RMQD)HDU75Z(\4I!K-L53,[E9C(,]L""Q1]ZUYG\M(?8,V(/'U:-Y&:6
MJ6"%'*7?Z/6M>CR#+@^H%7I")\!K*_#,U#88CIV,IDAO8O0]C.=0XIS_4R-5
M%1:PIJ+U$&3HD<%U!D.LL8DF"=9#;E9T!N[RZ .;<L@F:NJF*9ZC#GA3#O9&
M3R54&*!\4YFHO/93;#GICEYG>O\P>=0>6N=6RKV'5[+E&''\GN4/4$L#!!0
M   ( ):5_E D'INBK0   /@!   :    >&PO7W)E;',O=V]R:V)O;VLN>&UL
M+G)E;'.UD3T.@S ,A:\2Y0 U4*E#!4Q=6"LN$ 7S(Q(2Q:X*MR^% 9 Z=&&R
MGBU_[\E.GV@4=VZ@MO,D1FL&RF3+[.\ I%NTBB[.XS!/:A>LXEF&!KS2O6H0
MDBBZ0=@S9)[NF:*<//Y#='7=:7PX_;(X\ \PO%WHJ45D*4H5&N1,PFBV-L%2
MXLM,EJ*H,AF**I9P6B#BR2!M:59]L$].M.=Y%S?W1:[-XPFNWPQP>'3^ 5!+
M P04    " "6E?Y099!YDAD!  #/ P  $P   %M#;VYT96YT7U1Y<&5S72YX
M;6RMDTU.PS 0A:\295LE+BQ8H*8;8 M=< %C3QJK_I-G6M+;,T[:2J 2%85-
MK'C>O,^>EZS>CQ&PZ)WUV)0=47P4 E4'3F(=(GBNM"$Y2?R:MB)*M9-;$/?+
MY8-0P1-XJBA[E.O5,[1R;ZEXZ7D;3?!-F<!B63R-PLQJ2AFC-4H2U\7!ZQ^4
MZD2HN7/08&<B+EA0BJN$7/D=<.I[.T!*1D.QD8E>I6.5Z*U .EK >MKBRAE#
MVQH%.JB]XY8:8P*IL0,@9^O1=#%-)IXPC,^[V?S!9@K(RDT*$3FQ!'_'G2/)
MW55D(TADIJ]X(;+U[/M!3EN#OI'-X_T,:3?D@6)8YL_X>\87_QO.\1'"[K\_
ML;S63AI_YHOA/UY_ 5!+ 0(4 Q0    ( ):5_E '04UB@0   +$    0
M          "  0    !D;V-0<F]P<R]A<' N>&UL4$L! A0#%     @ EI7^
M4+VPBR#N    *P(  !$              ( !KP   &1O8U!R;W!S+V-O<F4N
M>&UL4$L! A0#%     @ EI7^4)E<G",0!@  G"<  !,              ( !
MS $  'AL+W1H96UE+W1H96UE,2YX;6Q02P$"% ,4    " "6E?Y0GG#H1"@$
M  #L#P  &               @($-"   >&PO=V]R:W-H965T<R]S:&5E=#$N
M>&UL4$L! A0#%     @ EI7^4/WZORK. 0  @ 4   T              ( !
M:PP  'AL+W-T>6QE<RYX;6Q02P$"% ,4    " "6E?Y0EXJ[',     3 @
M"P              @ %D#@  7W)E;',O+G)E;'-02P$"% ,4    " "6E?Y0
MJL0B%C,!   B @  #P              @ %-#P  >&PO=V]R:V)O;VLN>&UL
M4$L! A0#%     @ EI7^4"0>FZ*M    ^ $  !H              ( !K1
M 'AL+U]R96QS+W=O<FMB;V]K+GAM;"YR96QS4$L! A0#%     @ EI7^4&60
M>9(9 0  SP,  !,              ( !DA$  %M#;VYT96YT7U1Y<&5S72YX
8;6Q02P4&      D "0 ^ @  W!(

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

..report .outerFootnotes {
	font-size: 1em;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>12
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.20.2</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>1</ContextCount>
  <ElementCount>95</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>0</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>3</UnitCount>
  <MyReports>
    <Report instance="f8k_073020.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" original="f8k_073020.htm">f8k_073020.htm</File>
    <File>exh_99.htm</File>
    <File>gnw-20190101.xsd</File>
    <File>gnw-20190101_def.xml</File>
    <File>gnw-20190101_lab.xml</File>
    <File>gnw-20190101_pre.xml</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy>http://fasb.org/us-gaap/2019-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://xbrl.sec.gov/dei/2019-01-31</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>
{
 "instance": {
  "f8k_073020.htm": {
   "axisCustom": 0,
   "axisStandard": 0,
   "contextCount": 1,
   "dts": {
    "definitionLink": {
     "local": [
      "gnw-20190101_def.xml"
     ],
     "remote": [
      "http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-eedm-def-2019-01-31.xml",
      "http://xbrl.fasb.org/srt/2019/elts/srt-eedm1-def-2019-01-31.xml"
     ]
    },
    "inline": {
     "local": [
      "f8k_073020.htm"
     ]
    },
    "labelLink": {
     "local": [
      "gnw-20190101_lab.xml"
     ],
     "remote": [
      "https://xbrl.sec.gov/dei/2019/dei-doc-2019-01-31.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "gnw-20190101_pre.xml"
     ]
    },
    "referenceLink": {
     "remote": [
      "https://xbrl.sec.gov/dei/2019/dei-ref-2019-01-31.xml"
     ]
    },
    "schema": {
     "local": [
      "gnw-20190101.xsd"
     ],
     "remote": [
      "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",
      "https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd",
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd",
      "http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd",
      "http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd",
      "http://xbrl.fasb.org/us-gaap/2019/elts/us-roles-2019-01-31.xsd",
      "http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://xbrl.fasb.org/srt/2019/elts/srt-types-2019-01-31.xsd",
      "http://xbrl.fasb.org/srt/2019/elts/srt-roles-2019-01-31.xsd",
      "https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd",
      "http://xbrl.fasb.org/us-gaap/2019/elts/us-types-2019-01-31.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/deprecated-2009-12-16.xsd"
     ]
    }
   },
   "elementCount": 63,
   "entityCount": 1,
   "hidden": {
    "http://xbrl.sec.gov/dei/2019-01-31": 2,
    "total": 2
   },
   "keyCustom": 0,
   "keyStandard": 95,
   "memberCustom": 0,
   "memberStandard": 0,
   "nsprefix": "gnw",
   "nsuri": "http://globenewswire.com/20190101",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "body",
       "html"
      ],
      "baseRef": "f8k_073020.htm",
      "contextRef": "Form8K",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "00000001 - Document - Cover",
     "role": "http://globenewswire.com/role/Cover",
     "shortName": "Cover",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "body",
       "html"
      ],
      "baseRef": "f8k_073020.htm",
      "contextRef": "Form8K",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 0,
   "tag": {
    "dei_AmendmentDescription": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Description of changes contained within amended document.",
        "label": "Amendment Description"
       }
      }
     },
     "localname": "AmendmentDescription",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_AmendmentFlag": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.",
        "label": "Amendment Flag"
       }
      }
     },
     "localname": "AmendmentFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_AnnualInformationForm": {
     "auth_ref": [
      "r11"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag with value true on a form if it is an annual report containing an annual information form.",
        "label": "Annual Information Form"
       }
      }
     },
     "localname": "AnnualInformationForm",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_AuditedAnnualFinancialStatements": {
     "auth_ref": [
      "r11"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag with value true on a form if it is an annual report containing audited financial statements.",
        "label": "Audited Annual Financial Statements"
       }
      }
     },
     "localname": "AuditedAnnualFinancialStatements",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_CityAreaCode": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Area code of city",
        "label": "City Area Code"
       }
      }
     },
     "localname": "CityAreaCode",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CountryRegion": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Region code of country",
        "label": "Country Region"
       }
      }
     },
     "localname": "CountryRegion",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CoverAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Cover page."
       }
      }
     },
     "localname": "CoverAbstract",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "dei_CurrentFiscalYearEndDate": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "End date of current fiscal year in the format --MM-DD.",
        "label": "Current Fiscal Year End Date"
       }
      }
     },
     "localname": "CurrentFiscalYearEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "gMonthDayItemType"
    },
    "dei_DocumentAccountingStandard": {
     "auth_ref": [
      "r10"
     ],
     "lang": {
      "en-US": {
       "role": {
        "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'.",
        "label": "Document Accounting Standard"
       }
      }
     },
     "localname": "DocumentAccountingStandard",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "accountingStandardItemType"
    },
    "dei_DocumentAnnualReport": {
     "auth_ref": [
      "r13"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as an annual report.",
        "label": "Document Annual Report"
       }
      }
     },
     "localname": "DocumentAnnualReport",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The end date of the period reflected on the cover page if a periodic report. For all other reports and registration statements containing historical data, it is the date up through which that historical data is presented.  If there is no historical data in the report, use the filing date. The format of the date is CCYY-MM-DD.",
        "label": "Document Period End Date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentPeriodStartDate": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The start date of the period covered in the document, in CCYY-MM-DD format.",
        "label": "Document Period Start Date"
       }
      }
     },
     "localname": "DocumentPeriodStartDate",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentQuarterlyReport": {
     "auth_ref": [
      "r9"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as an quarterly report.",
        "label": "Document Quarterly Report"
       }
      }
     },
     "localname": "DocumentQuarterlyReport",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentRegistrationStatement": {
     "auth_ref": [
      "r14"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a registration statement.",
        "label": "Document Registration Statement"
       }
      }
     },
     "localname": "DocumentRegistrationStatement",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentShellCompanyEventDate": {
     "auth_ref": [
      "r10"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Date of event requiring a shell company report.",
        "label": "Document Shell Company Event Date"
       }
      }
     },
     "localname": "DocumentShellCompanyEventDate",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentShellCompanyReport": {
     "auth_ref": [
      "r10"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true for a Shell Company Report pursuant to section 13 or 15(d) of the Exchange Act.",
        "label": "Document Shell Company Report"
       }
      }
     },
     "localname": "DocumentShellCompanyReport",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r12"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a transition report.",
        "label": "Document Transition Report"
       }
      }
     },
     "localname": "DocumentTransitionReport",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentType": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.",
        "label": "Document Type"
       }
      }
     },
     "localname": "DocumentType",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "dei_DocumentsIncorporatedByReferenceTextBlock": {
     "auth_ref": [
      "r1"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Documents incorporated by reference.",
        "label": "Documents Incorporated by Reference [Text Block]"
       }
      }
     },
     "localname": "DocumentsIncorporatedByReferenceTextBlock",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "textBlockItemType"
    },
    "dei_EntityAddressAddressLine1": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name",
        "label": "Entity Address, Address Line One"
       }
      }
     },
     "localname": "EntityAddressAddressLine1",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressAddressLine2": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Address Line 2 such as Street or Suite number",
        "label": "Entity Address, Address Line Two"
       }
      }
     },
     "localname": "EntityAddressAddressLine2",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressAddressLine3": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Address Line 3 such as an Office Park",
        "label": "Entity Address, Address Line Three"
       }
      }
     },
     "localname": "EntityAddressAddressLine3",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCityOrTown": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Name of the City or Town",
        "label": "Entity Address, City or Town"
       }
      }
     },
     "localname": "EntityAddressCityOrTown",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCountry": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "ISO 3166-1 alpha-2 country code.",
        "label": "Entity Address, Country"
       }
      }
     },
     "localname": "EntityAddressCountry",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "countryCodeItemType"
    },
    "dei_EntityAddressPostalZipCode": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Code for the postal or zip code",
        "label": "Entity Address, Postal Zip Code"
       }
      }
     },
     "localname": "EntityAddressPostalZipCode",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressStateOrProvince": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Name of the state or province.",
        "label": "Entity Address, State or Province"
       }
      }
     },
     "localname": "EntityAddressStateOrProvince",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityBankruptcyProceedingsReportingCurrent": {
     "auth_ref": [
      "r4"
     ],
     "lang": {
      "en-US": {
       "role": {
        "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.",
        "label": "Entity Bankruptcy Proceedings, Reporting Current"
       }
      }
     },
     "localname": "EntityBankruptcyProceedingsReportingCurrent",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r15"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.",
        "label": "Entity Central Index Key"
       }
      }
     },
     "localname": "EntityCentralIndexKey",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "centralIndexKeyItemType"
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.",
        "label": "Entity Common Stock, Shares Outstanding"
       }
      }
     },
     "localname": "EntityCommonStockSharesOutstanding",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "sharesItemType"
    },
    "dei_EntityCurrentReportingStatus": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Current Reporting Status"
       }
      }
     },
     "localname": "EntityCurrentReportingStatus",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r15"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicate if registrant meets the emerging growth company criteria.",
        "label": "Entity Emerging Growth Company"
       }
      }
     },
     "localname": "EntityEmergingGrowthCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityExTransitionPeriod": {
     "auth_ref": [
      "r18"
     ],
     "lang": {
      "en-US": {
       "role": {
        "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.",
        "label": "Elected Not To Use the Extended Transition Period"
       }
      }
     },
     "localname": "EntityExTransitionPeriod",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityFileNumber": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.",
        "label": "Entity File Number"
       }
      }
     },
     "localname": "EntityFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r15"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Filer Category"
       }
      }
     },
     "localname": "EntityFilerCategory",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "filerCategoryItemType"
    },
    "dei_EntityIncorporationStateCountryCode": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Two-character EDGAR code representing the state or country of incorporation.",
        "label": "Entity Incorporation, State or Country Code"
       }
      }
     },
     "localname": "EntityIncorporationStateCountryCode",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r16"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).",
        "label": "Entity Interactive Data Current"
       }
      }
     },
     "localname": "EntityInteractiveDataCurrent",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityPrimarySicNumber": {
     "auth_ref": [
      "r11"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Primary Standard Industrial Classification (SIC) Number for the Entity.",
        "label": "Entity Primary SIC Number"
       }
      }
     },
     "localname": "EntityPrimarySicNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "sicNumberItemType"
    },
    "dei_EntityPublicFloat": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.",
        "label": "Entity Public Float"
       }
      }
     },
     "localname": "EntityPublicFloat",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "monetaryItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r15"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.",
        "label": "Entity Registrant Name"
       }
      }
     },
     "localname": "EntityRegistrantName",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r15"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.",
        "label": "Entity Shell Company"
       }
      }
     },
     "localname": "EntityShellCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntitySmallBusiness": {
     "auth_ref": [
      "r15"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).",
        "label": "Entity Small Business"
       }
      }
     },
     "localname": "EntitySmallBusiness",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r15"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.",
        "label": "Entity Tax Identification Number"
       }
      }
     },
     "localname": "EntityTaxIdentificationNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "employerIdItemType"
    },
    "dei_EntityVoluntaryFilers": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.",
        "label": "Entity Voluntary Filers"
       }
      }
     },
     "localname": "EntityVoluntaryFilers",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.",
        "label": "Entity Well-known Seasoned Issuer"
       }
      }
     },
     "localname": "EntityWellKnownSeasonedIssuer",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_Extension": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Extension number for local phone number.",
        "label": "Extension"
       }
      }
     },
     "localname": "Extension",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_LocalPhoneNumber": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Local phone number for entity.",
        "label": "Local Phone Number"
       }
      }
     },
     "localname": "LocalPhoneNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_NoTradingSymbolFlag": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true only for a security having no trading symbol.",
        "label": "No Trading Symbol Flag"
       }
      }
     },
     "localname": "NoTradingSymbolFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_OtherReportingStandardItemNumber": {
     "auth_ref": [
      "r10"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "\"Item 17\" or \"Item 18\" specified when the basis of accounting is neither US GAAP nor IFRS.",
        "label": "Other Reporting Standard Item Number"
       }
      }
     },
     "localname": "OtherReportingStandardItemNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "otherReportingStandardItemNumberItemType"
    },
    "dei_PreCommencementIssuerTenderOffer": {
     "auth_ref": [
      "r5"
     ],
     "lang": {
      "en-US": {
       "role": {
        "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.",
        "label": "Pre-commencement Issuer Tender Offer"
       }
      }
     },
     "localname": "PreCommencementIssuerTenderOffer",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_PreCommencementTenderOffer": {
     "auth_ref": [
      "r6"
     ],
     "lang": {
      "en-US": {
       "role": {
        "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.",
        "label": "Pre-commencement Tender Offer"
       }
      }
     },
     "localname": "PreCommencementTenderOffer",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r0"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Title of a 12(b) registered security.",
        "label": "Title of 12(b) Security"
       }
      }
     },
     "localname": "Security12bTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_Security12gTitle": {
     "auth_ref": [
      "r3"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Title of a 12(g) registered security.",
        "label": "Title of 12(g) Security"
       }
      }
     },
     "localname": "Security12gTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r2"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Name of the Exchange on which a security is registered.",
        "label": "Security Exchange Name"
       }
      }
     },
     "localname": "SecurityExchangeName",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "dei_SecurityReportingObligation": {
     "auth_ref": [
      "r7"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "15(d), indicating whether the security has a reporting obligation under that section of the Exchange Act.",
        "label": "Security Reporting Obligation"
       }
      }
     },
     "localname": "SecurityReportingObligation",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "securityReportingObligationItemType"
    },
    "dei_SolicitingMaterial": {
     "auth_ref": [
      "r8"
     ],
     "lang": {
      "en-US": {
       "role": {
        "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.",
        "label": "Soliciting Material"
       }
      }
     },
     "localname": "SolicitingMaterial",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_TradingSymbol": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Trading symbol of an instrument as listed on an exchange.",
        "label": "Trading Symbol"
       }
      }
     },
     "localname": "TradingSymbol",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "dei_WrittenCommunications": {
     "auth_ref": [
      "r17"
     ],
     "lang": {
      "en-US": {
       "role": {
        "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.",
        "label": "Written Communications"
       }
      }
     },
     "localname": "WrittenCommunications",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "us-gaap_ClassOfStockDomain": {
     "auth_ref": [],
     "localname": "ClassOfStockDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonClassAMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Common Class A [Member]"
       }
      }
     },
     "localname": "CommonClassAMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PreferredClassAMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Preferred Class A [Member]"
       }
      }
     },
     "localname": "PreferredClassAMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_StatementClassOfStockAxis": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Class of Stock [Axis]"
       }
      }
     },
     "localname": "StatementClassOfStockAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Statement [Line Items]"
       }
      }
     },
     "localname": "StatementLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Statement [Table]"
       }
      }
     },
     "localname": "StatementTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "xbrltype": "stringItemType"
    }
   },
   "unitCount": 3
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b"
  },
  "r1": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-23"
  },
  "r10": {
   "Name": "Form 20-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "220",
   "Subsection": "f"
  },
  "r11": {
   "Name": "Form 40-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "240",
   "Subsection": "f"
  },
  "r12": {
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-1-"
  },
  "r13": {
   "Name": "Forms 10-K, 20-F, 40-F",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "15",
   "Subsection": "d-1"
  },
  "r14": {
   "Name": "Forms 20-F, 40-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "220 and 240",
   "Subsection": "f"
  },
  "r15": {
   "Name": "Regulation 12B",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r16": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405"
  },
  "r17": {
   "Name": "Securities Act",
   "Number": "230",
   "Publisher": "SEC",
   "Section": "425"
  },
  "r18": {
   "Name": "Securities Act",
   "Number": "7A",
   "Publisher": "SEC",
   "Section": "B",
   "Subsection": "2"
  },
  "r2": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r3": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "g"
  },
  "r4": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12, 13, 15d"
  },
  "r5": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13e",
   "Subsection": "4c"
  },
  "r6": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "14d",
   "Subsection": "2b"
  },
  "r7": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "15",
   "Subsection": "d"
  },
  "r8": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "14a",
   "Subsection": "12"
  },
  "r9": {
   "Name": "Form 10-Q",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-13"
  }
 },
 "version": "2.1"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>15
<FILENAME>0001171843-20-005413-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001171843-20-005413-xbrl.zip
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
MO#2S>N^3W,%P,F DF("!)V95Q%O]R680^]&P%8 IX(\MP%8+$-J]IV9/&.\
M4FY0.N!N)MSM8,D#)%PEXO<%@_=,O3BN,G&<[P0IY@( X\M\+XRZQ @AA 0Q
M"#F6D!?# :0"8M@:*7SZ>>8-VV+HXGZ(?I')7:3->$_ :\![C#\#P*'I.@9M
M"@N(<, #:+2$7FTQAS?ZO5POB3$%5-+M:VY01^R*IWT.,Q[-;=3,G'?<R;D?
MA+&#Q41$^J-PS(PO1&"X!;FQ%IZ9!GP>,["V0[6V%HSY>8X!<P%LN:9+]'W3
M<BY<"I?8Q?1.(.P,8Z!Q'#?) GCHGN43]F?,PX8@U+.[4)LG6GK0]((YI%M&
M@(/I;<#XA.K@@5ZN_<0<X8+Z<U^])<Q*,'S#Z8JBYYM^$,-'S(0D40>L>=U\
M6I^\Y;H;>C&+ @@3<(H8L\4J9X*6Z29:L,=K_$_\9GH)]:][FP<DHG$3#4WR
M"-QN6LB/(W6;@?=E8#01E=AHWGES$:=V?'0I.$Y,N4NA ]!.Q,@QG&D\O@,V
M/@L#,G2#14W6V,]!UIW&8$ZN&?CP.H9'T05?<D:O<!@,1V@-7 @40]%K[E[9
M)MXX0B?":]ZG8T,?A,""' +8H!S"C(@&V0NQ1HPJ7WS@,6T!I@@7O%$1Q@-A
M@MZO_+P5HS>Y-D(#N1B^F/R73VC$Q3GCRR^6N3#]!RWRT!QQK]=<'XX--R:[
M#9>(86@,TPK5':Z2^-ZC;$A:L"X/.SUX9\2($+A"BL,)P3T0#/IM#EY^<MQ;
M4,^-<T $',51S)%[#N)/[8E0@BFB0;P-*VPCX3"&?1)K.BL'2^<AKY6E#X/"
M6>7,'G9X9@%7KR)8*P:#<D<D=$E<!Y%K_9T8%,*&DVY;W [W/3 \!+)MVFL+
M.U2LT/! %E_=QO43CZUBZ"*BLQ8>XZ$XD841K;[SU\5K*/C:\/>$;3';N(B-
M%&U8=>%""A9J4FXY*U=ON(=TI\-_#\X:4F^5Z^#<)W45-0N[@G% $+ P[2%>
MZH\]VP2KUY;,9B)>R[G)-8D^PZB8.T$7$+UMCP</13P6]<"E:]Z@K37"+#.>
M,$+.X<^U$)(KADPB)X(8J==3(_A(D \3SK' ,/MN.[?"C QL\=DUO>\>3:QX
MFE%2#+=*9KHA0A2\ZQB2$7 MAC?RQ1^:[0)B<(G -76Q8"14FB^"B3Z& 5%6
M71&_1$-\@6E,?')R$WA%1).<AJ$$,6AHG4'GXR[>"S<EI_G4,0+>QD,=G9D(
MR&)=<AY>2[ ;F^[_  '&-2%\4F2%).<0)KV@>N$@R+77!ELDFJ0G8CE1Y*FB
MJ'W"(91:C7_%@LXEFB=+BD?.P![DYIPBT3!O40^S6'2/*S' =V2L&R:_(DG3
MU"0UR9"/>R0>#GX,4X4XO,;<QDB"P;4JC^A&@PRV J;"LI6]9#\)5J$@":OG
M89A\ KG#P"8NR-NH?&-3#4/8!'64,WM0+X5)4=< +*!)60P38=<HL<# L7B3
MT<(\77=ZW2A0'0KK"3<+@ (+[KQS@J0- GAL8);!-. >AAFYS4*J'^9 DT<H
M82(]:.>&<XE/-<^P='/A$>&L<U<<(Z@3*X(.F)[!DG/'<;D:YL;CW:.:ZG;.
MA+N"(03!'>%NW:Y'T".8O1&/)4.WZRKV5(3:WW']20:177C% X( A.(Z2L9'
M<%8]P'^??':=8!D^@%$R'9,*O;^,O^Z^BZOGIJ>3<SWX_EVWF2VN'0<8"3[]
MQR1JYAI;B=:_Q#UM26W(DM9H]SKRAK2K8S$'>#[X^S<B'_Q-E"H.MJL_?R>U
M6K\=@>< -I7;,!S+TI<>>Q=]('\#?(/I"3)V='3_)A)].B)O/AS[+OR/_H'E
M@5)Z_T9[\W!..CDB!&8=SU"+?EF8TZD%3=V_/G%\T&.$OR.9/!^O4PPN3IN)
MI35_ROL1OGN+UB*.K;5PR,G9'TFGPXNS_L6H?P:$78R&YX.SDS%\^7AR?G)Q
MVB>CW_O]\:BT5!Y\M750.Z!GC@06.H$'@ [S#-P"<#E"IXL;?+$+IB_0!_'>
MIB V(O(^;>&3"_U'0TB]IH'0)S["G$S\<K3E*S:U+,4-2VOM2L]KMA<WVUMK
MME?(WI:KV>+R=H,,;]^A>$++V<$6[HL1KU5:],7AJ:A41[9M2+GT\I2G&_BG
MF+B!)Z$N%XV\PRQQ<THFN-.!2(#'1^3%F8:N;E$E) ]NK.V1RTQJGM=QWUFN
MO?5D--K1#-D,EB'?X369,GWSRPOXP/;\X)M5\V#'%L@42<WIUZNK_L681%+S
M3.84@OQ]/E (@K<8[Z@+9$U",44>KRTQ9\V^;N#W=T1N-5O+'P\CS6FT],C7
M('$)X$:W1-QZZ^[_FA4C):U-NVJK4**3(;$]*JMR.<1F-'=<OX$I2,DUZ\+,
M0+5%-4TME-QD2[#2IG*W70[9.1&+G7R=F@'<3"Q6'#YJM-LN%N!D3+!"6RVI
M)()C6<YMO-IGX**#SS-KV$_(\Z2#L:NIN)W+\IP1.5!HIZ.D&)%= W:O@UL2
M;7=ZZ;F5/^913%TJ#@ZTJ:1I50(^B:I*2:RM,S9CKLN3P;P"65F*2K5>I61&
MI;)6$BMK&*["8B+J*\+[+E6T;FZ!HC)R3)) :--HR R%5GE":,<.)H%'QS5L
M%M[\9G]+H;U*Z4BY)]&.G*%W$(W[Y=7PLG\U_H.<7)R1_O]]'5Q^Z5^,,:D&
MS^(PC& 1IM.N[7; S?>J"H"@\0C6K^#UJUH;L^YY7AT_;Z(XO%2I*E7)LY05
MJF49SHH5W26>4SFX^$S.^R>C/KD:?/Y]W!A^:GR%+P4+A4MMVE5VQ>(R"H$$
M)F([0XLI$H+/P^'9M\'Y>6$(UU3:[:;QXLL^TEJ'=MN[AEQ3C/3@8GQR\7GP
M\3R:W,7RHZ4>^$25@GF9=CJ[6N2IQOW?_=$8S8+BP+E&U4ZG0F/-3TB1]["2
M/1S_WK\JFO*NU[$+'.Y8#Y%1OB<L]",+PT^I1;L[6\1E%" )W,?.K@YS7@*4
MV.U:L "$1%M*I4P+VMF9WARCK8^"3XD#B3*5I1RLG5)S3)5V]0%SB;QNM5PP
M=0+<Y"08ICPU!#_E2SW=VDNQO]V14BZE9R.RY6%86Z/MG=-?,L^&/A^<?!R<
M#\:#_H@'BD?CX>F_?A^>G_6O1N'AC3QX//[CY3*F"V%+EU%Y[SOI.2$<KX,'
M]:#O*25GJ=^ES$',+ >X366U6 &E+$DM2RH%2(H;W#N*J3!33NK07L%2Y#,/
M."NM@EC5VTI.=/!289BHTM;.@9DR"DV'RJVR!:+",ZL+PT,%F*A5:4E3P=SB
MDB#-,#[U3IQU8YDZK_-BOJK<^#:5NCFD3Y288PK5=DY#R#7Y[Q$!SD^+=*BF
M5&E;6:?[C"6'U.N]M0M?=H)S-I6*N>PK4ZU=+*<^:WJ[:DEV%#YB-153EB2-
M]N1*>?LMVNIFF%:8=0I!$<V87K624*C4*X@%O%T6P;8@5&*OY'F)A-7TY-JM
M@L#@=G[<ZPQ =+M44?//*"@3RWHR53M[V *"!]0.1((XWPYV.KS 74']B]/:
MGRPKP2F&_[%DD-? BGKLL[6]+MW(>N?5=RA6M6ZU)*RY*LI@'1$5*YORZJ9A
MO20]\.>.BP6>CDA\T?0\7/(3Y1[B^DD%&I.<3*^24KSO\_@2];<VRN"C0JA@
M@+I'E4Z7RQ]\E5IMVI%ZZ\)Y)'Y5J23#'5)X<YMV.PJ5-2DIMP7=3:U4:?%:
MV35ZN&?9';N\EM)=)+VZSW?C'!$)1! D2VUQ09.HW):HTNZ&0EE0$3OHJ-#1
M-'+V_(.X\B.VW:%RJK-\<CI':U6/>ZF;TP;6&!6E(PO#2D53:*=;I8"_HK9!
MBQ0D.O&4!%UAS3$;<[)T%RN+%2<LV^DB3%9(;MI=VMLYH6C_F7SQ(311,?G%
MTF5S9O.*MG@,Y2L*VAPH5$MU:%35#Z'LI5KRS$9Y;A>8Y<;9W+& -5X4*,%S
MO_V?3*\2CP@J826/XY;*S#-0XUVM(+Y&ZD4&[EKL+-OEV:)7[VE,R;"7WM-8
M0(.L0@_P 3GD918_A"68L3!C >HO2NKK*\"8)4T/5& <C>&/6,4;?D)2AU_Z
MY25V58B1;B[$N)_RBZKR6U0;CW]<%<?#KW6)P&+62:QY6[IF:]Y6D;<O4S:T
MDYVN'<]=QL@7Q_;G'NECT?A\*D-N73@S0UZ,S!_9<N*EI6'_Q3(+4&5V!TEY
M;7RJ:]*FE:?'RWEFPKP'WO5*"MS6DE=+7CZ2ER+S\TIL_GM6Q=+]% +65*H6
M[ 2%G#C1Z5)5+E8AA)PX(;5[5.L4:U-Y7JQ0U&P/W%@E67H^5H]Q'T".$B_B
MR6VJR/4IK:E8IE"M52\5IUI4TVA7JUF6BF7/.7)KS\E.GUW'\\C2=6;F:]IU
MJDHI$WIKJ6VW:3</.ZW$+)-:$NWV<C#H2LRS7HLJO0PSCWX^[Z-P)S(6/.^B
M)K@F>*\$[]GD&>E6F$.XT-WOS"_2EDT)-P;L>J)2&05'TJBZ<RW!,A*L=&BO
M4L5A>:2G)-[0%?.8[AISC@Y3=L,L9[DHTJ%@&O"R2OO-.E1M%2MVG#$<JK2E
M['J"2BD)EJG6*LD1@I^9#3Z%Q<%!GRY,V_1\]#%NBG-P-[*S7:QEIXP);E$I
MU>ZULA,LMVFG4H?ZR3+MM7<=X7UO'5TX\,-?O&P(KCJ9MJ_;UR;?J+!-O;4R
M!7(DJM0U E-R3,[#>"LQQ^1\L*[4'%-W7JW+95^G\V2<ML2CT0;K9.<C?:HI
MP!@NZ-7+4*F" CTJM[LUR]*P# _NR3 H%6'<0!P//G.AF1#I'+LX*U&21*5*
MA9M[5*E6776PH/+(@\A/HCM4VSEBF&9YF1\,%)[^?Q":+L\_&:<0ZW%E'/>:
MX)K@XL2!!KC7@GE^"!"4V*PX:TAR'DG#N5';K=0Y>]U*K0Y*5.D5)-BQ7;V7
M(L(!9LI6:CUAYQ.BRDAME9R[TA1_.IWK]C7#4X+P9-J&$ZQJH+ZFDQGKTD^[
M1(SKO39I^'6@I=%=E3ZZ5FEG6)HI@X6AIRRF$@\%5INO _8I.5878TNY*E1O
M3$HG83UY?RM"$S9S7)8H'UN@_4D2)A%4*:=.:E&M6Z4PD:S0=J6<?MQ74Y;:
M2H-52>EP7>E5H:RR<XWORNJEG3,5JLDQF6I*;2NF<@UI:Q^VSP6+5L2>H+0T
M)0<P@::7PWZ=LO*K2[6=-_]7D%URZQG9+!7DEZ32SCZR?PIFW=:Y(#7!!7F@
M$ 3O9)*LZG.\#B94;M1K@E\[P7L.Q'S4/=-(T=6?#)^78EJKJ10K6)<AI7*Q
M#H/)D%*U6"'V#"G=^8"?/4_X,],*?"P34@2F*<5*W<IRRA?KP),LIWP.B_XY
M3?F2I.*])O.H<O9@3?!K)SB%)_^-82?9E.APAW[-"#CU"\<6+KU' @]^\AV\
MN@0ECPEEM>-?$UP37 :""^[X9\LY!<\$K-*>%22X:D>DMM1BN7L9$]RF/:TD
MZ5CI@P(9\ZX#LZ-*NSR18+EB<-#+(WD[UQ%NE00."L:ZVHZL"2[( X4@F*/!
MH:]/+/8!YO;Q\L,Q6WP8B1@ 'MP<._MDJOLZF>LWN!F#V42?_C?P,'XP<URB
M6Q;>:3I3+([%/"R>RL,'+IM9S/")3OQ;IP&W-AR;01\=XSOQEI;I$S:;P0TF
M-'L27$.+1)8IP<*I37)\"'TY/ESRGO$^$D[-^S>B.FM<]S4L2]]J_197>34<
MR]*7'GL7?2!_,Q=+Q_5UVS\ZNG\3B3XA?R)TC O,:AF67+\<D=/AER_]J],^
M)8.+TV:F]6+W0=+I\.*L?S'JGP%A%Z/A^>#L9 Q?1F/X\Z5_,1Z1X2=R>C+Z
MG7PZ'WX;E9;>@Z^V'DQ-$/0CW)KNSYW @QGC[;II=H-B7N@_&D*V-0U$._%Q
M8=J)7XY>?! W<G93QZ2X7]):M^#;46K06C7;BYOMK37;>TEBG^I$1K0]UFS9
M:7LMX[:%E?QPAV+4Z62H.,P?Y(MC^W./].TI^MO[+S.>B@/[K[[^S\!FHE]*
MB^;,G]V+V>^183*/&[PPGU8M/%XJ>P?A^HE7#S2=!R>E7AX2%Y^8HWMS,K.<
M6V_M+%W[FNAH:YN^^0+[I_=3^KPT_EP)V/'"L1_I@=A/XNT/;V%[Y*',\FSR
MVA^4!ZU9[^UY84&Y8H9C&Z9EQL5@$AD'OL._&8AJ2]>Y,<'@(9.[;&"M$#.U
MFH&H[,/2B;>?L1ES71"D8AXJ0MN5*DPFT\[.A?SV+SMI3B3,C:6ICGHKN_P<
MI#NN[6U^J+-TF1%J.5X9\5X---!OH-7\._XC^S,PBU51M4/EG3,1RBA7*E5V
MSK??OW2E+JB7)]Y7JRQC<0J-;2%'EVAD>RA$N+IG@)5D@H9SO WEQG+CJ%*Q
M-!>)JJWR(-$(EW@;$QW3R#&'G-D>1Z7"L+-'E3Q.R,R-WBZ5.@4)!VPA/OS\
M_V(=_'\@R6GX]_RSDW.TI=4TIUOE9DL++\Q#-TQ8-]QFCARQ.A945H)?6I+4
MI^UFPW "&P0(?#-FWF"J46%8>:#1EI8FV[W,R-.F6BHME1'V/"TQ<?30<+PB
MN55:E1*A#]0TH8C<9$44,S("D!?;YSK*=NQ&_+U8CKE"I7:5]M8<J.U2 $ZL
MHI;Z7:'TDR)72ES:J4JHY2DN;E!4W_N@ \[H#M!=2H%1J9QJ=V;N(A.>HEX<
ME730Z^RPME-&86D7)L*7P@)VV0VS@^(H)/ A6E6R@@%@U*(L+6QA#,<Y.Q;3
M-Z!,B8^%/^BF*A)2Z>IJ!ZD.T,]&)SY46"WQXHM=T\Y*/#1*A];%L%*&77JT
MT]EU.?L9>=VF?<.\.@'R-1"\_Y3;R\ UYJB"2Y!V=-"E2JI*&"5V L!C5%(=
M;Y.-=DPK00*+4&J* T$'JDJE71(#2RDW[395VVF.3,U-<+[H?N!R;554R5$D
MVMK9JRJC]"@:U78^3'S_:_^Q8<X/JC3MK4RA9VX3W-7^?(EMB<_+YY#I3F'K
MYQOSE6.U)%-)RR83_2$G8&;:NFW43L K('A/FCB2I"NV3%IPT0G F+I9&'X>
M2%W:2Z6)RVS" :V[+(SM66Y0^8+#:# V#3&(_6"N87H,Q<A9XF*CA[LV(_$J
MIFCU:%NNTEX6A2JI$LER1*8-$K986LX=BPX/BR5K:>G%6=B6J%HIIP&<I)TK
MW^]9HB[U._0P^8:6IS=MEC@6?=#I[A #J&;<_N^_=&5)+HBU]M11JC^YO-L8
M_B4>'#"&TBVJ5%J4#]I4377.]?:F8^*A/C^M$ZT\P%$&OX9IK<8=F("&V!7O
MZCX8?&)OQJMB<)KH6*5E4>IEN!9Z+PAHVH:+B20(B!P=<0&+?\!5K!O=*E18
M&69IN[5?3,O/.%2HE"IQ;W=!.'UHX(GNDPF[-FT;U22N<_)3BE_37--Z5'Z!
MK?39QK_*S&!%H=V=BX^^H!PSN+ZM!$^=  ]]$/Q0GN+P3X>0/=W:RXEO&[B;
M@\]<6H:U-=J2,RP768#P1(4>V'  _\0E13CU7E)?W['W6=)T,;QH?#XYN217
M_=/AQ>G@?' R'@PORDO80P?<4W3U&(#:JC:$ON![TS(Y^EY5XN.\^<?5>=[X
MM52GBF]J]K6<F)ZVV;+35H];.6FKQZV<M+V6<2M\98GQW&4LV]H2126]+JKQ
M)%G9%M6HV?("8E/7&JEKC>0Z$6NY>LE)^;H%+47>\\O4$ME/F19)HE)OU[6O
M;![(B1-=JJ7:N/=J&5&&XC-[FAP%*DU3@2/[%2HI:3("RYZ4*M-T&9!EI[<N
MR5!D]"A/20:)*JD2",LN1Q*54^VU*3N]=<F-(N/$(-X$'SHY!3O]7E$JDK9X
MT)729->4F=)>JA)A9:84=%L1SFW=!@:B8H31.9R%82+PL%NE<Q4EVNNF.:2N
M[/3*5%.J5!$'"TCM.K[%*:A4.)A0::M@8:ZLITVW4D47ZL)918:)*P;7_@*,
MN-9QAR@_'^;^3CTGL5,J<?86F3/KIWT%N9ILJ=RW$INGC0I-IP-IEY-_RTCI
MKJ.:4[6]!]:"'EY@3LW8O6W9ZN80YBHQNP[:K5P.ARLCKR0UAU7]$O/KH-W)
MYBC;Y!++]+^!YX/-T_\X&)^=/$%K:7;ZR2W:EO-'LM+P2^I0I9>#YUE6?K5;
M5--R6"@O*[\4\/13':^<H5&W1>F*@F]\K1^H'WBI!W8Z->:9>:15RA2M4"YH
ME;(]*YK/6:^D%#1@5J^DO&YZR[624B=N%E6.ZL3-UTYOF1(WZQ77$HI8O>):
MCVKA5ESS,\RJI%WVOMJ9GYV4QUIECN.:T4ICAAG>_#1U7GM)YVN8&VL@EGGU
M%USZ[G[+MI:96Q+54IWL6FUNJ;0GU>4AMD9'JF1462RYM.+8X@S4S>LK95WY
ME12JI*K^4/&5<JE%NU+^>5*EX9?<H5VYSES9GE\25>6"5+*K,S'J!^H'4DRN
MZ#BO$9X<[HEB9K[#5V(#GQ%[W818'3)>6)KK!^H']CA_7C@<\5'W3*,P01Q%
MI2VE2A54D6"I:@2KN]INI22X37L[G\^5PVEWI@5JN#BKDDH')DB55ON18+EB
MB-#K52GO"T>X51Y$*+C)5#]0/[!'\_OA:'?MJM8/5.B!XKNJF6UX:#4+=J!R
MEI06RU?+D%*M6(>]94AI)\/R[+F[HUG.A<I(2,%B<%G.^F)YGEG.^O+DU!?,
M82^X)5837!.\5X(W%"UGBVA!%_>XK"I#3W5?)W/]AI$)8W:8YLJFN$6&Z):%
M=YK.U"-+>!2+5/&U8)?-+&;X1"?^K=. 6QN.S:"/CO&=>$O+],/,61.:/0FN
MH44BRY1@@:KF\2%T)2R?+OIVZMB^;OCO>&%U<<PZO/R*67QKG\<OC^>,?+0"
MYLU-UR>?72=8BMO=A6GK\)/N_67\=?>=7SPW/9V<Z\'W[[K-;'YI=#DZ_<<D
M:N :GV\:SH+_UI;4ABQIC78/[2[H&/YSO!1%WH\/)\[T#O[,_87UX?\!4$L#
M!!0    ( ):5_E#%M.7$APX  /!+   .    9CAK7S W,S R,"YH=&WM'/UW
MVCCR7]&QUSWR7O@F2:$I^U)"NFSS]2"][=TO]X0M0%MC>24YP/WU-R/98(.=
MD#1)TWO[0Y/8&HU&H_G6N,>_+&8>N652<>&_+]3*U0)AOB-<[D_>%T(]+KTM
M_-(YGFJ  DA?O2],M0[:E<I\/B_/&V4A)Y5:J]6J+!"F8(':BTRX>K5:JWRY
M.!\Z4S:C)>XK37V'K29YW/^:CQ]'5Z CZ?$4*+Z)%VE4ME##J+N>D 0^K-C!
M%*C.!#VPH#H&Y4HTZ[6CN^BP$*L)BSS8&M(,.V1?/@S.U^ Z&WX-6M&2^FHL
MY(QJ.$'$=%"JUDOUPP22DF)."A$\ER?B]EX\;TN-6HQGZW#2.\7A$54KCKML
M@]WQFC" V%NE:BV!7;)Q+O+#"HS&@*$J32@-5L!CJD8&,!K(P TC4GA,9<XQ
M(QF3'!'Z6BZS]Q -XK2C]#0E]?8R\#*Y J@3HV[G6'/ML<X9\)R\+7TZKMCG
MXXH='0EWV3EV^2U1>NFQ]P67J\"CRS;QA<_> 1:^:",HD_9/[KK,-W\"P&4X
M8Y([Q*<SG,IXN^<#_F67 >'4Z_LN6WQBRP)QA*_90@^0_TC*VT^%3A7TM-JJ
M'[9:QY44N@[90&\%YGT!A*P]$L!*ZH^IAU*P7OADQGP7_NDSCTZR%SS#.9MK
MF>?$KD (F 3;Q!20@>+65L:. "9BC$-[:J1HXL]+R&W80ZV\4&XA&M7+ "A2
M?!9X#+A72:, G)7-1<RS$J&TC\;HM"/Z"7?7],=CS/!X]<A=?#'F3!*S#LM4
MPFY_@^6;DY&T3/P!\$FXJT<P>5*?4LTZ]6J]6JH>E1K5>.9Z;$VKFP,;CZR6
M7:U32;%@A2KTN>7'Y^'IFADS1E4H62>R@6T8C!'$0RN,B&$;W7!*@?_;&*,M
MF=$'H@0BKC?1@HX!LU.P1@:I%O+1N]G&@&]/F2]FW,_$O/.NTD@J&YM(;[^2
MDF&K4I'-J,"4E(&943GA?DF+H$T:@7Y'HA<CH;68M4FM#B\+J2ECD(22XO]E
M,(HS1D(";HMBY%'G*X$Y1 F/NZO!&)T=KZW'Y]S54T!4K;Z!97[^J798?1=1
M:7\&6<LV<5WS8L[X9*H!L?  &TIHB7I\XK>) XK#Y&I#AKS#C!U6S08_7_9O
M>J=D>'-RTQL>5X(G7KB:N_"PU_T\Z-_T>T-R<GE*>E^ZOYY<?NR1[M7%17\X
M[%]=O@PUAX::WZF:0A2HA;]/3LO=,JE7#YJMIZ? B%6.K)U=#2XV?<[:LYP*
M)T3'<@.6/=NQ&+^ZZ5;R-E!_0DFR+(3C'/0N;\B@=WTUN'F9E2/.78=2A=37
M1 LR9 X&=:36($*2VD'1W2-B?#R2I-+14X;CH>2:,T5Z"V=*_0DC)XX&&%)K
M-9IIN@U-+G.$-)%BFX002TB,(Z,M1'NJ/KE>6HOPFG_>$1VYX%%GP(VI2Y=+
M!C;>+V1(\K7QM#WK@+-%^K?06Y)&=9^@X]X4[M? A'M8E*L$1F >8ZXBB4>6
MH<A*%@BI23%^!F9[(-J:L%M & TS=^]Q8EW?A<I,&<[2AN\GU/?D"0,VX0IS
M0GT)(]F2.+P>&M?4&W1[^Z1_V2V_%G'\5B'+$[%B;T'!+B)+4++63")4D6'
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
M Q0    ( ):5_E#TYW-UKB8   D% @ *              "  0    !E>&A?
M.3DN:'1M4$L! A0#%     @ EI7^4,6TY<2'#@  \$L   X
M ( !UB8  &8X:U\P-S,P,C N:'1M4$L! A0#%     @ EI7^4 XX_UR\ @
M,0P  !               ( !B34  &=N=RTR,#$Y,#$P,2YX<V102P$"% ,4
M    " "6E?Y0[5*D@5@(  #Z90  %               @ %S.   9VYW+3(P
M,3DP,3 Q7V1E9BYX;6Q02P$"% ,4    " "6E?Y06<L:FPH+  "QBP  %
M            @ ']0   9VYW+3(P,3DP,3 Q7VQA8BYX;6Q02P$"% ,4
M" "6E?Y0SX@:AI8'  ";8   %               @ $Y3   9VYW+3(P,3DP
A,3 Q7W!R92YX;6Q02P4&      8 !@!X 0   50

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