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

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			NORTHERN TECHNOLOGIES INTERNATIONAL CORP
		CENTRAL INDEX KEY:			0000875582
		STANDARD INDUSTRIAL CLASSIFICATION:	COATING, ENGRAVING & ALLIED SERVICES [3470]
		ORGANIZATION NAME:           	04 Manufacturing
		IRS NUMBER:				410857886
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			0831

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

	BUSINESS ADDRESS:	
		STREET 1:		4201 WOODLAND ROAD
		STREET 2:		PO BOX 69
		CITY:			CIRCLE PINES
		STATE:			MN
		ZIP:			55014
		BUSINESS PHONE:		(763) 225-6601

	MAIL ADDRESS:	
		STREET 1:		4201 WOODLAND ROAD
		STREET 2:		PO BOX 69
		CITY:			CIRCLE PINES
		STATE:			MN
		ZIP:			55014

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	NORTHERN INSTRUMENTS CORP
		DATE OF NAME CHANGE:	19930328
</SEC-HEADER>
<DOCUMENT>
<TYPE>8-K
<SEQUENCE>1
<FILENAME>f8k_010825.htm
<DESCRIPTION>FORM 8-K
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:us-roles="http://fasb.org/us-roles/2021-01-31" xmlns:country="http://xbrl.sec.gov/country/2023" xmlns:srt="http://fasb.org/srt/2023"><head><title>Form 8-K</title></head><body style="font: 10pt Times New Roman, Times, Serif"><div style="display: none;"><ix:header><ix:hidden><ix:nonNumeric name="dei:EntityCentralIndexKey" contextRef="Form8K" id="ixv-142">0000875582</ix:nonNumeric> <ix:nonNumeric format="ixt:booleanfalse" name="dei:AmendmentFlag" contextRef="Form8K" id="ixv-143">False</ix:nonNumeric></ix:hidden><ix:references> <link:schemaRef xlink:href="gnw-20190101.xsd" xlink:type="simple"/> </ix:references> <ix:resources> <xbrli:context id="Form8K"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0000875582</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:startDate>2025-01-08</xbrli:startDate> <xbrli:endDate>2025-01-08</xbrli:endDate> </xbrli:period> </xbrli:context> <xbrli:unit id="USD"> <xbrli:measure>iso4217:USD</xbrli:measure> </xbrli:unit> <xbrli:unit id="Shares"> <xbrli:measure>xbrli:shares</xbrli:measure> </xbrli:unit> <xbrli:unit id="USDPShares"> <xbrli:divide> <xbrli:unitNumerator> <xbrli:measure>iso4217:USD</xbrli:measure> </xbrli:unitNumerator> <xbrli:unitDenominator> <xbrli:measure>xbrli:shares</xbrli:measure> </xbrli:unitDenominator> </xbrli:divide> </xbrli:unit> </ix:resources></ix:header></div><div style="margin-top: 3pt; margin-bottom: 12pt;"><div style="font-size: 1pt; border-top: Black 2pt solid; border-bottom: Black 1pt solid; width: 100%;">&#160;</div></div><p style="font-size: 14pt; font-weight: bold; text-align: center; margin-top: 6pt; margin-bottom: 0pt;">UNITED STATES</p><p style="font-size: 14pt; font-weight: bold; text-align: center; margin-top: 0pt; margin-bottom: 0pt;">SECURITIES AND EXCHANGE COMMISSION</p><p style="font-size: 14pt; font-weight: bold; text-align: center; margin-top: 0pt; margin-bottom: 6pt;">Washington, D.C. 20549</p><p style="text-align: center;">_________________</p><p style="font-size: 14pt; font-weight: bold; text-align: center; margin-top: 6pt; margin-bottom: 6pt;">FORM <ix:nonNumeric name="dei:DocumentType" contextRef="Form8K" id="ixv-163">8-K</ix:nonNumeric></p><p style="text-align: center;">_________________</p><p style="font-size: 12pt; font-weight: bold; text-align: center; margin-top: 6pt; margin-bottom: 6pt;">CURRENT REPORT</p><p style="font-size: 12pt; font-weight: bold; text-align: center; margin-top: 6pt; margin-bottom: 6pt;">Pursuant to Section 13 or 15(d)<br/>of the Securities Exchange Act of 1934</p><p style="font-size: 10pt; font-weight: bold; text-align: center; margin-top: 6pt; margin-bottom: 6pt;">Date of Report (Date of earliest event reported):&#160; <ix:nonNumeric format="ixt:datemonthdayyearen" name="dei:DocumentPeriodEndDate" contextRef="Form8K" id="ixv-164">January 8, 2025</ix:nonNumeric></p><p style="text-align: center;">_______________________________</p><p style="font-size: 12pt; text-align: center; margin-top: 6pt; margin-bottom: 0; font-weight: bold;"><ix:nonNumeric name="dei:EntityRegistrantName" contextRef="Form8K" id="ixv-165">NORTHERN TECHNOLOGIES INTERNATIONAL CORPORATION</ix:nonNumeric></p><p style="font-size: 10pt; text-align: center; margin-top: 0; margin-bottom: 6pt;">(Exact name of registrant as specified in its charter)</p><p style="text-align: center;">_______________________________</p><table style="width: 100%; margin-right: auto; margin-left: auto;" border="0" cellspacing="0" cellpadding="0"><tr style="vertical-align: top;"><td style="width: 33%; font-size: 10pt; font-weight: bold; text-align: center;"><ix:nonNumeric format="ixt-sec:stateprovnameen" name="dei:EntityIncorporationStateCountryCode" contextRef="Form8K" id="ixv-166">Delaware</ix:nonNumeric></td><td style="width: 34%; font-size: 10pt; text-align: center; font-weight: bold;"><ix:nonNumeric name="dei:EntityFileNumber" contextRef="Form8K" id="ixv-167">001-11038</ix:nonNumeric></td><td style="width: 33%; font-size: 10pt; font-weight: bold; text-align: center;"><ix:nonNumeric name="dei:EntityTaxIdentificationNumber" contextRef="Form8K" id="ixv-168">41-0857886</ix:nonNumeric></td></tr><tr style="vertical-align: top;"><td style="font-size: 10pt; text-align: center;">(State or Other Jurisdiction of Incorporation)</td><td style="font-size: 10pt; text-align: center;">(Commission File Number)</td><td style="font-size: 10pt; text-align: center;">(I.R.S. Employer Identification No.)</td></tr></table><!-- Postal Address Country=UNITED STATES  --><p style="font-size: 10pt; text-align: center; margin-top: 12pt; margin-bottom: 0pt; font-weight: bold;"><ix:nonNumeric name="dei:EntityAddressAddressLine1" contextRef="Form8K" id="ixv-32">4201 Woodland Road<br/>P.O. Box 69</ix:nonNumeric></p><p style="font-size: 10pt; text-align: center; margin-top: 0pt; margin-bottom: 0pt; font-weight: bold;"><ix:nonNumeric name="dei:EntityAddressCityOrTown" contextRef="Form8K" id="ixv-169">Circle Pines</ix:nonNumeric>, <ix:nonNumeric format="ixt-sec:stateprovnameen" name="dei:EntityAddressStateOrProvince" contextRef="Form8K" id="ixv-170">Minnesota</ix:nonNumeric> <ix:nonNumeric name="dei:EntityAddressPostalZipCode" contextRef="Form8K" id="ixv-171">55014</ix:nonNumeric></p><p style="font-size: 10pt; text-align: center; margin-top: 0pt; margin-bottom: 6pt;">(Address of Principal Executive Offices) (Zip Code)</p><!-- Phone Number --><p style="font-size: 10pt; font-weight: bold; text-align: center; margin-top: 0pt; margin-bottom: 0pt;">(<ix:nonNumeric name="dei:CityAreaCode" contextRef="Form8K" id="ixv-172">763</ix:nonNumeric>) <ix:nonNumeric name="dei:LocalPhoneNumber" contextRef="Form8K" id="ixv-173">225-6600</ix:nonNumeric></p><p style="font-size: 10pt; text-align: center; margin-top: 0pt; margin-bottom: 6pt;">(Registrant's telephone number, including area code)</p><!-- Former Name --><p style="font-size: 10pt; font-weight: bold; text-align: center; margin-top: 0pt; margin-bottom: 0pt;">Not Applicable</p><p style="font-size: 10pt; text-align: center; margin-top: 0pt; margin-bottom: 0pt;">(Former name or former address, if changed since last report)</p><p style="text-align: center;">_______________________________</p><!-- Checkboxes --><p style="font-size: 10pt; text-align: left; text-indent: 0; margin-top: 6pt; margin-bottom: 6pt;">Check the appropriate box below if the Form 8-K filing is intended to simultaneously satisfy the filing obligation of the registrant under any of the following provisions:</p><table style="width: 100%; margin-top: 6pt; margin-bottom: 6pt; font-size: 10pt;" cellspacing="0" cellpadding="0"><tr style="vertical-align: top;"><td style="width: 3%; text-align: center; vertical-align: middle;"><ix:nonNumeric format="ixt-sec:boolballotbox" name="dei:WrittenCommunications" contextRef="Form8K" id="ixv-174">&#9744;</ix:nonNumeric></td><td style="width: 97%; text-align: left;">Written communications pursuant to Rule 425 under the Securities Act (17 CFR 230.425)</td></tr><tr style="vertical-align: top;"><td style="width: 3%; text-align: center; vertical-align: middle;"><ix:nonNumeric format="ixt-sec:boolballotbox" name="dei:SolicitingMaterial" contextRef="Form8K" id="ixv-175">&#9744;</ix:nonNumeric></td><td style="width: 97%; text-align: left;">Soliciting material pursuant to Rule 14a-12 under the Exchange Act (17 CFR 240.14a-12)</td></tr><tr style="vertical-align: top;"><td style="width: 3%; text-align: center; vertical-align: middle;"><ix:nonNumeric format="ixt-sec:boolballotbox" name="dei:PreCommencementTenderOffer" contextRef="Form8K" id="ixv-176">&#9744;</ix:nonNumeric></td><td style="width: 97%; text-align: left;">Pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act (17 CFR 240.14d-2(b))</td></tr><tr style="vertical-align: top;"><td style="width: 3%; text-align: center; vertical-align: middle;"><ix:nonNumeric format="ixt-sec:boolballotbox" name="dei:PreCommencementIssuerTenderOffer" contextRef="Form8K" id="ixv-177">&#9744;</ix:nonNumeric></td><td style="width: 97%; text-align: left;">Pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act (17 CFR 240.13e-4(c))</td></tr></table><!-- Securities Table --><p style="font-size: 10pt; text-align: left; text-indent: 0; margin-top: 6pt; margin-bottom: 6pt;">Securities registered pursuant to Section 12(b) of the Act:</p><div><table border="0" cellspacing="0" cellpadding="0" style="width: 100%"><tr style="vertical-align: top"><td style="font-size: 10pt; text-align: center; margin-top: 6pt; margin-bottom: 6pt; width: 39%; border-bottom: Black 1pt solid">Title of each class</td><td style="font-size: 10pt; text-align: center; margin-top: 6pt; margin-bottom: 6pt; width: 23%; border-bottom: Black 1pt solid">Trading Symbol(s)</td><td style="font-size: 10pt; text-align: center; margin-top: 6pt; margin-bottom: 6pt; width: 38%; border-bottom: Black 1pt solid">Name of each exchange on which registered</td></tr><tr style="vertical-align: top"><td style="font-size: 10pt; text-align: center"><span><ix:nonNumeric contextRef="Form8K" name="dei:Security12bTitle" id="ixv-178">Common stock, par value $0.02 per share</ix:nonNumeric></span></td><td style="font-size: 10pt; text-align: center"><span><ix:nonNumeric contextRef="Form8K" name="dei:TradingSymbol" id="ixv-179">NTIC</ix:nonNumeric></span></td><td style="font-size: 10pt; text-align: center"><span><ix:nonNumeric contextRef="Form8K" format="ixt-sec:exchnameen" name="dei:SecurityExchangeName" id="ixv-180">Nasdaq Global Market</ix:nonNumeric></span></td></tr></table></div><!-- Emerging Growth Company --><p style="font-size: 10pt; text-align: left; text-indent: 0; margin-top: 6pt; margin-bottom: 6pt;">Indicate by check mark whether the registrant is an emerging growth company as defined in Rule 405 of the Securities Act of 1933 (&#167;230.405 of this chapter) or Rule 12b-2 of the Securities Exchange Act of 1934 (&#167;240.12b-2 of this chapter).</p><p style="font-size: 10pt; text-align: left; text-indent: 0; margin-top: 6pt; margin-bottom: 6pt;">Emerging growth company <ix:nonNumeric format="ixt-sec:boolballotbox" name="dei:EntityEmergingGrowthCompany" contextRef="Form8K" id="ixv-181">&#9744;</ix:nonNumeric></p><p style="font-size: 10pt; text-align: left; text-indent: 0; margin-top: 6pt; margin-bottom: 6pt;">If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act. &#9744;</p><div style="margin-top: 0pt; margin-bottom: 0pt; border-bottom: Black 4pt solid;">&#160;</div><div style="page-break-before: always; margin-top: 0pt; margin-bottom: 0pt;">&#160;</div><!-- 8-K Items --><div><div><div style="font-size: 10pt;"><strong>Item 2.02. Results of Operations and Financial Condition.</strong></div><div style="font-size: 10pt;"><p>On January 8, 2025, Northern Technologies International Corporation (&#8220;NTIC&#8221;) announced its consolidated financial results for the fiscal quarter ended November 30, 2024.&#160; A copy of the press release is attached as Exhibit 99.1 to this current report on Form 8-K and the information set forth therein is incorporated herein by reference and constitutes a part of this report.</p><p>The information contained in Item 2.02 of this report and Exhibit 99.1 to this report shall not be deemed to be &#8220;filed&#8221; for purposes of Section 18 of the Securities Exchange Act of 1934, as amended (the &#8220;Exchange Act&#8221;), and shall not be incorporated by reference into any filings made by NTIC under the Securities Act of 1933, as amended, or the Exchange Act, except as may be expressly set forth by specific reference in such 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;"><p>(d) <em>Exhibits&#160;</em></p><table style="font-size: 10pt;" border="0" cellspacing="0" cellpadding="0"><tr><td style="font-size: 10pt; font-weight: bold; text-decoration-line: underline;" valign="bottom">Exhibit No.</td><td style="font-size: 10pt; width: 20px;">&#160;</td><td style="font-size: 10pt; font-weight: bold; text-decoration-line: underline;" valign="bottom">Description</td></tr><tr><td style="font-size: 10pt;">&#160;</td><td style="font-size: 10pt; width: 20px;">&#160;</td><td style="font-size: 10pt;">&#160;</td></tr><tr><td style="font-size: 10pt;"><a href="exh_991.htm">99.1</a></td><td style="font-size: 10pt; width: 20px;">&#160;</td><td style="font-size: 10pt;"><a href="exh_991.htm">Press Release issued January 8, 2025 (furnished herewith)</a></td></tr><tr><td style="font-size: 10pt;">104</td><td style="font-size: 10pt; width: 20px;">&#160;</td><td style="font-size: 10pt;">The Cover Page from this Current Report on Form 8-K, Formatted in Inline XBRL (filed herewith)</td></tr></table></div></div></div><div style="margin-top: 0pt; margin-bottom: 0pt; border-bottom: Black 4pt solid;">&#160;</div><div style="page-break-before: always; margin-top: 0pt; margin-bottom: 0pt;">&#160;</div><!-- Signatures --><p style="font-size: 10pt; text-align: center; font-weight: bold;">SIGNATURE</p><p style="font-size: 10pt;">Pursuant to the requirements of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned hereunto duly authorized.</p><table style="width: 100%;" border="0" cellspacing="0" cellpadding="0"><tr style="vertical-align: top;"><td>&#160;</td><td style="font-size: 10pt; font-weight: bold;" colspan="2">NORTHERN TECHNOLOGIES INTERNATIONAL CORPORATION</td></tr><tr style="vertical-align: top;"><td style="width: 49%;">&#160;</td><td style="width: 2%;">&#160;</td><td style="width: 49%;">&#160;</td></tr><tr style="vertical-align: top;"><td>&#160;</td><td>&#160;</td><td style="font-size: 10pt;"/></tr><tr style="vertical-align: top;"><td style="font-size: 10pt;">Date: January 8, 2025</td><td style="font-size: 10pt;">By:&#160;</td><td style="text-decoration: underline; font-size: 10pt;">/s/ Matthew C. Wolsfeld&#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;">Matthew C. Wolsfeld</td></tr><tr style="vertical-align: top;"><td>&#160;</td><td>&#160;</td><td style="font-size: 10pt;">Chief Financial Officer and Corporate Secretary</td></tr><tr style="vertical-align: top;"><td>&#160;</td><td>&#160;</td><td style="font-size: 10pt;"/></tr></table><!-- Exhibit Index --><div></div><!-- (763) 225-6600 Form 8-KJanuary 8, 2025 --><p>&#160;</p></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-99.1
<SEQUENCE>2
<FILENAME>exh_991.htm
<DESCRIPTION>PRESS RELEASE
<TEXT>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html lang="en-US"><head><title>EdgarFiling</title><meta content="text/html; charset=windows-1252" ><meta name="GENERATOR" content="MSHTML 8.00.7601.18094" ></head><body bgcolor="#ffffff"><p style="text-align: right;"><strong>EXHIBIT 99.1</strong></p><p style="text-align: center;"><font style="font-size: 14pt;"><strong>Northern Technologies International Corporation Reports Financial Results for First Quarter Fiscal 2025</strong></font></p><p style="text-align: center;"><strong></strong></p><p>
 <p>MINNEAPOLIS, Jan.  08, 2025  (GLOBE NEWSWIRE) -- Northern Technologies International Corporation (NASDAQ: NTIC), a leading developer of corrosion inhibiting products and services, as well as bio-based and biodegradable polymer resin compounds, today reported its financial results for the first quarter of fiscal 2025.&#160;&#160;</p>  <p>First quarter fiscal 2025 financial and operating highlights include (with growth rates on a fiscal quarter year-over-year basis):</p>  <ul type="disc"><li>Consolidated net sales increased 5.7% to a first quarter record of $21,338,000</li><li>ZERUST&#174; industrial net sales increased 0.4% to $13,962,000</li><li>ZERUST&#174; oil and gas net sales increased 0.7% to $1,514,000</li><li>Natur-Tec&#174; product net sales increased 22.8% to a quarterly record of $5,863,000</li><li>NTIC China net sales increased 8.6% to $3,995,000</li><li>Gross profit, as a percent of net sales, increased 200 basis points to 38.3%</li><li>Joint venture operating income increased 2.7% to $2,414,000</li><li>Operating expenses were $9,470,000, reflecting a 14.0% increase primarily associated with investments to support anticipated ZERUST&#174; oil and gas growth in the second half of fiscal year 2025</li><li>Net income attributable to NTIC decreased to $561,000, compared to $896,000</li><li>Net income per diluted share attributable to NTIC was $0.06, compared to $0.09</li><li>Cash provided by operating activities was $2,395,000 for the first quarter of fiscal year 2025</li><li>Consolidated balance sheet as of November 30, 2024 remained strong with working capital of $22,183,000</li></ul>  <p>&#8220;NTIC&#8217;s record first quarter consolidated sales were driven by Natur-Tec&#174; all-time record quarterly sales, as well as, stable ZERUST&#174; oil and gas and ZERUST&#174; industrial sales. Furthermore, NTIC China enjoyed its highest quarterly sales in nearly three years. We are cautiously optimistic that global trends within our ZERUST&#174; industrial markets will continue improving throughout fiscal year 2025,&#8221; said G. Patrick Lynch, President and CEO of NTIC.</p>  <p>&#8220;Operating expenses increased 14.0% year-over-year primarily due to our strategic investments in ZERUST&#174; oil and gas sales infrastructure. Partially offsetting these investments was a 200-basis point year-over-year improvement in gross margin for the fiscal 2025 first quarter, demonstrating the successful execution of quality system-improvement initiatives that are underway company-wide. Our record first-quarter consolidated sales and solid start to fiscal 2025 are encouraging. We continue to believe fiscal 2025 will be another strong year of sales growth and higher profitability,&#8221; concluded Mr. Lynch.</p>  <p>NTIC&#8217;s consolidated net sales increased 5.7% to $21,338,000 during the three months ended November 30, 2024, compared to $20,182,000 for the three months ended November 30, 2023. The year-over-year increase in consolidated net sales for the first quarter was primarily a result of sales growth and higher customer demand within the Company&#8217;s Natur-Tec&#174;, ZERUST&#174; oil and gas, and ZERUST&#174; industrial product categories.</p>  <p>The following tables set forth NTIC&#8217;s net sales by product category for the three months ended November 30, 2024 and 2023, by segment:</p> <table style="width:100%; border-collapse:collapse !important;;border-collapse: collapse; "><tr><td style="vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td colspan="14" style="border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; "><strong>Three Months Ended November 30,</strong></td></tr><tr><td style="max-width:40%; width:40%; min-width:40%;;vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:12%; width:12%; min-width:12%;;padding-left: 0 ; border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>2024</strong></td><td style="max-width:1%; width:1%; min-width:1%;;text-align: center ;  vertical-align: middle; ">&#160;</td><td style="max-width:9%; width:9%; min-width:9%;;border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>% of Net Sales</strong></td><td style="max-width:1%; width:1%; min-width:1%;;border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;padding-right: 0 ; border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:12%; width:12%; min-width:12%;;padding-left: 0 ; border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>2023</strong></td><td style="max-width:1%; width:1%; min-width:1%;;text-align: center ;  vertical-align: middle; ">&#160;</td><td style="max-width:9%; width:9%; min-width:9%;;border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>% of Net Sales</strong></td><td style="max-width:1%; width:1%; min-width:1%;;border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;text-align: center ;  vertical-align: middle; ">&#160;</td><td style="max-width:9%; width:9%; min-width:9%;;border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>% Change</strong></td><td style="max-width:1%; width:1%; min-width:1%;;border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="max-width:42%; min-width:42%;;vertical-align: top ; vertical-align: bottom ; ">ZERUST<sup>&#174;</sup> industrial net sales</td><td style="max-width:1%; min-width:1%;;padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; ">$</td><td style="max-width:12%; min-width:12%;;padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; ">13,962,252</td><td style="max-width:9%; min-width:9%;;padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="max-width:9%; min-width:9%;;padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">65.4</td><td style="max-width:1%; min-width:1%;;padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">%</td><td style="max-width:2%; min-width:2%;;padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; min-width:1%;;padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; ">$</td><td style="max-width:12%; min-width:12%;;padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; ">13,903,431</td><td style="max-width:9%; min-width:9%;;padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="max-width:9%; min-width:9%;;padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">68.9</td><td style="max-width:1%; min-width:1%;;padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">%</td><td style="max-width:9%; min-width:9%;;padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="max-width:9%; min-width:9%;;padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">0.4</td><td style="max-width:1%; min-width:1%;;padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">%</td></tr><tr><td style="vertical-align: top ; vertical-align: bottom ; ">ZERUST<sup>&#174;</sup> oil &amp; gas net sales</td><td style="padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; ">1,513,551</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">7.1</td><td style="padding-left: 0 ; border-bottom: solid black 1pt ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">%</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; ">1,502,314</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">7.4</td><td style="padding-left: 0 ; border-bottom: solid black 1pt ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">%</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">0.7</td><td style="padding-left: 0 ; border-bottom: solid black 1pt ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">%</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: top ; vertical-align: bottom ; ">Total ZERUST<sup>&#174;</sup> net sales</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; ">15,475,803</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">72.5</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">%</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; ">15,405,745</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">76.3</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">%</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">0.5</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">%</td></tr><tr><td style="vertical-align: top ; vertical-align: bottom ; ">Total Natur-Tec<sup>&#174;</sup> net sales</td><td style="padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; ">5,862,590</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">27.5</td><td style="padding-left: 0 ; border-bottom: solid black 1pt ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">%</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; ">4,775,930</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">23.7</td><td style="padding-left: 0 ; border-bottom: solid black 1pt ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">%</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">22.8</td><td style="padding-left: 0 ; border-bottom: solid black 1pt ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">%</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 15.0px; vertical-align: top ; vertical-align: bottom ; ">Total net sales</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; ">21,338,393</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">100.0</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">%</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; ">20,181,675</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">100.0</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">%</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">5.7</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">%</td></tr></table> <p><br >NTIC&#8217;s joint venture operating income increased 2.7% to $2,414,000 during the three months ended November 30, 2024, compared to joint venture operating income of $2,351,000 during the three months ended November 30, 2023. The $63,000 increase in joint venture operating income was primarily due to an increase in net income at NTIC&#8217;s joint ventures. Net sales of NTIC&#8217;s joint ventures, which are not consolidated with NTIC&#8217;s financial results, increased 1.2% to $23,837,000 during the three months ended November 30, 2024, compared to $23,561,000 for the three months ended November 30, 2023.</p>  <p>Operating expenses, as a percent of net sales, for the first quarter of fiscal 2025 were 44.4%, compared to 41.2% for the same period last fiscal year. Higher operating expenses for the three months ended November 30, 2024 over the prior fiscal year period were primarily due to increased personnel expenses, including new hires and benefits, and increased travel and professional fees.</p>  <p>Net income attributable to NTIC for the first quarter of fiscal 2025 decreased to $561,000, or $0.06 per diluted share, compared to net income of $896,000, or $0.09 per diluted share, for the same period last fiscal year.&#160;&#160;</p>  <p>NTIC&#8217;s non-GAAP adjusted net income, as set forth in the GAAP reconciliation at the end of this release, was $666,874, or $0.07 per diluted share, for the first quarter of fiscal 2025, compared to $1,001,000, or $0.10 per diluted share, for the same quarter last fiscal year.</p>  <p>NTIC&#8217;s consolidated balance sheet remains strong, with working capital of $22,183,000 as of November 30, 2024, including $5,570,000 in cash and cash equivalents and an outstanding revolving line of credit and term loan balance of $7,280,000, compared to $23,682,000 of working capital as of August 31, 2024, including $4,952,000 in cash and cash equivalents and an outstanding revolving line of credit and term loan balance of $7,112,000.</p>  <p>At November 30, 2024, the Company had $25,493,000 of investments in joint ventures, of which $13,900,000, or 54.6%, is cash, with the remaining balance mostly made up of other working capital.</p>  <p><strong>Conference Call and Webcast</strong></p>  <p>NTIC will host a conference call today at 8:00 a.m. Central Time to review its results of operations for the first quarter of fiscal year 2025 and its outlook, followed by a question-and-answer session. The conference call will be available to interested parties through a webcast. To join the live call and ask a question, a participant must register using the URL below.</p>  <p><strong>https://register.vevent.com/register/BI4d040eba4e2c4503bf32954281c25848</strong></p>  <p>Once registered, the participant will receive a dial-in number and unique PIN number to access the call.</p>  <p>The audio-only webcast can be accessed at the following link: <strong>https://edge.media-server.com/mmc/p/7u2oj9a3</strong><br >A link to the webcast is also available on the Investor Relations section of NTIC&#8217;s webpage. Participants are advised to go to the website at least 15 minutes early to register, download and install any necessary audio software. For those unable to participate in the live webcast, a replay of the webcast will be archived and accessible for approximately one year on the Investor Relations section of NTIC&#8217;s webpage.</p>  <p><strong>About Northern Technologies International Corporation</strong>&#160;&#160;</p>  <p>Northern Technologies International Corporation develops and markets proprietary, environmentally beneficial products and services in over 65 countries either directly or via a network of subsidiaries, joint ventures, independent distributors and agents. NTIC&#8217;s primary business is corrosion prevention marketed mainly under the ZERUST&#174; brand. NTIC has been selling its proprietary ZERUST&#174; rust and corrosion inhibiting products and services to the automotive, electronics, electrical, mechanical, military and retail consumer markets for over 50 years and more recently has also targeted and expanded into the oil and gas industry. NTIC offers worldwide on-site technical consulting for rust and corrosion prevention issues. NTIC&#8217;s technical service consultants work directly with the end users of NTIC&#8217;s products to analyze their specific needs and develop systems to meet their technical requirements. NTIC also markets and sells a portfolio of bio-based and biodegradable polymer resin compounds and finished products marketed under the Natur-Tec&#174; brand.</p>  <p><strong>Forward-Looking Statements</strong>&#160;&#160;</p>  <p align="left"><em>Statements contained in this release that are not historical information are forward-looking statements within the meaning of the Private Securities Litigation Reform Act of 1995. Such statements include anticipated ZERUST&#174; oil and gas growth in the second half of fiscal year 2025, NTIC&#8217;s belief that global trends within its ZERUST&#174; industrial markets will continue improving throughout fiscal year 2025 and that fiscal 2025 will be another strong year of sales growth and higher profitability, and other statements that can be identified by words such as &#8220;believes,&#8221; &#8220;continues,&#8221; &#8220;expects,&#8221; &#8220;anticipates,&#8221; &#8220;intends,&#8221; &#8220;potential,&#8221; &#8220;outlook,&#8221; &#8220;will,&#8221; &#8220;may,&#8221; &#8220;would,&#8221; &#8220;should,&#8221; &#8220;guidance&#8221; or words of similar meaning, and the use of future dates. Such forward-looking statements are based upon the current beliefs and expectations of NTIC&#8217;s management and are inherently subject to risks and uncertainties that could cause actual results to differ materially from those projected or implied. Such potential risks and uncertainties include, but are not limited to, in no particular order: the health of the U.S. and worldwide economies, including in particular the U.S. automotive industry and its evolution towards electric vehicles; the effect of economic uncertainty, recessionary indicators, inflation, increased interest rates and turmoil in the global credit, financial and banking markets or perception thereof; effect of supply chain disruptions; dependence on joint ventures, relationships with joint venture partners and their success, including fees and dividend distributions; risks associated with international operations, including NTIC China, exposure to exchange rate fluctuations, tariffs and trade disputes; effect of economic slowdown and political unrest, including the wars between Russia and Ukraine and Israel and Hamas; the level of growth in NTIC&#8217;s markets; NTIC&#8217;s investments in research and development efforts; acceptance of existing and new products; timing of purchase orders under supply contracts; variability in sales to oil and gas customers and effect on quarterly financial results; increased competition; costs and effects of complying with changes in tax, fiscal, government and other regulatory policies, and rules relating to environmental, health and safety matters; and NTIC&#8217;s reliance on its intellectual property rights and the absence of infringement of the intellectual property rights of others. More detailed information on these and additional factors which could affect NTIC&#8217;s operating and financial results is described in NTIC&#8217;s filings with the Securities and Exchange Commission, including its annual report on Form 10-K for the fiscal year ended August 31, 2024 and subsequent quarterly reports on Form 10-Q. NTIC urges all interested parties to read these reports to gain a better understanding of the many business and other risks that it faces. Additionally, NTIC undertakes no obligation to publicly release the results of any revisions to these forward-looking statements, which may be made to reflect events or circumstances occurring after the date hereof or to reflect the occurrence of unanticipated events.</em></p>  <p align="justify"><strong>Use of Non-GAAP Financial Measures</strong></p>  <p align="left"><em>In addition to the financial measures prepared in accordance with U.S. generally accepted accounting principles (GAAP), this release contains non-GAAP financial measures, including adjusted net income attributable to NTIC and adjusted net income attributable to NTIC per diluted share. NTIC&#8217;s reasons for use of these measures, reconciliations of these non-GAAP financial measures to the most directly comparable GAAP measures and other information are included at the end of this release. Non-GAAP financial measures have limitations as analytical tools and should not be considered in isolation or as a substitute for NTIC&#8217;s financial results prepared in accordance with GAAP.</em></p> <table style="width:100%; border-collapse:collapse !important;;border-collapse: collapse; "><tr><td colspan="10" style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td colspan="10" style="border-bottom: solid black 1pt ; text-align: justify ;  vertical-align: middle; vertical-align: bottom ; "><strong>NORTHERN TECHNOLOGIES INTERNATIONAL CORPORATION AND SUBSIDIARIES </strong><br ><strong>CONSOLIDATED BALANCE SHEETS AS OF NOVEMBER 30, 2024 (UNAUDITED) </strong><br ><strong>AND AUGUST 31, 2024 (AUDITED)</strong></td></tr><tr><td colspan="10" style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>November 30, 2024</strong></td><td style="text-align: center ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: bottom ; "><strong>August 31, 2024</strong></td></tr><tr><td colspan="2" style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; "><strong>ASSETS</strong></td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td colspan="2" style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">CURRENT ASSETS:</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="max-width:1%; width:1%; min-width:1%;;text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:66%; width:66%; min-width:66%;;text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">Cash and cash equivalents</td><td style="max-width:1%; width:1%; min-width:1%;;text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">$</td><td style="max-width:13%; width:13%; min-width:13%;;padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">5,569,834</td><td style="max-width:1%; width:1%; min-width:1%;;padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="max-width:2%; width:2%; min-width:2%;;text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="max-width:13%; width:13%; min-width:13%;;padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">4,952,184</td><td style="max-width:1%; width:1%; min-width:1%;;padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">Receivables:</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Trade, excluding joint ventures, less allowance for credit losses of $310,000 as of November 30, 2024 and August 31, 2024</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">16,081,710</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">19,187,079</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">Fees for services provided to joint ventures</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">1,170,328</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,235,016</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">Income taxes</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">688,806</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">392,293</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">Inventories, net</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">14,337,384</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">14,390,844</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">Prepaid expenses</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2,454,288</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,421,803</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">Total current assets</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">40,302,350</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">41,579,219</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: solid black 1pt ; vertical-align: bottom ; ">&#160;</td></tr><tr><td colspan="2" style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">PROPERTY AND EQUIPMENT, NET</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">17,053,239</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">16,265,653</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td colspan="2" style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">OTHER ASSETS:</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">Investments in joint ventures</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">25,492,921</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">25,397,287</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">Deferred income tax, net</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">508,495</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">544,464</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">Intangible assets, net</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">5,573,945</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">5,682,945</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">Goodwill</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">4,782,376</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">4,782,376</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">Operating lease right of use assets</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">324,329</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">424,558</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Total other assets</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">36,682,066</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">36,831,630</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; vertical-align: bottom ; ">Total assets</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">94,037,655</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">94,676,502</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; vertical-align: top ; vertical-align: bottom ; ">&#160;</td></tr><tr><td colspan="2" style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; "><strong>LIABILITIES AND EQUITY</strong></td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td></tr><tr><td colspan="2" style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">CURRENT LIABILITIES:</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">Line of credit</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">4,518,734</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">4,291,608</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">Term loan</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">2,761,592</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">2,820,835</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">Accounts payable</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">6,559,744</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">6,393,355</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">Income taxes payable</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">256,849</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">327,781</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">Accrued liabilities:</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">Payroll and related benefits</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">2,710,181</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">3,163,372</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">Other</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">1,094,381</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">574,876</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">Current portion of operating leases</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">217,441</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">325,116</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">Total current liabilities</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">18,118,922</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">17,896,943</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td colspan="2" style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">LONG-TERM LIABILITIES:</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">Deferred income tax, net</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">1,504,796</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,504,796</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">Operating leases, less current portion</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">106,888</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">99,442</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">Total long-term liabilities</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">1,611,684</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,604,238</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td colspan="2" style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; "><br > COMMITMENTS AND CONTINGENCIES</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td></tr><tr><td colspan="2" style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; "><br > EQUITY:</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">Preferred stock, no par value; authorized 10,000 shares; none issued and outstanding</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#8212;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">Common stock, $0.02 par value per share; authorized 15,000,000</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">shares as of November 30, 2024 and August 31, 2024; <br >issued and outstanding 9,470,507 and 9,466,976, respectively</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; "><br >189,410</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">189,340</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">Additional paid-in capital</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">23,999,854</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">23,615,564</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">Retained earnings</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">53,669,366</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">53,771,211</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">Accumulated other comprehensive loss</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">(7,645,298</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">)</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">(6,382,124</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">Stockholders&#8217; equity</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">70,213,332</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">71,193,991</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: bottom ; ">Non-controlling interests</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">4,093,717</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; 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 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">3,981,330</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; vertical-align: bottom ; ">Total equity</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">74,307,049</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">75,175,321</td><td style="border-top: solid black 1pt ; border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td style="vertical-align: middle;   text-align: left;   padding-left: 30.0px; vertical-align: bottom ; ">Total liabilities and equity</td><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">94,037,655</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">94,676,502</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr></table> <p><br ></p> <table style="width:100%; border-collapse:collapse !important;;border-collapse: collapse; "><tr><td colspan="8" style="vertical-align: top ; vertical-align: bottom ; ">&#160;</td></tr><tr><td colspan="8" style="border-bottom: solid black 1pt ; vertical-align: top ; vertical-align: bottom ; "><strong>NORTHERN TECHNOLOGIES INTERNATIONAL CORPORATION AND SUBSIDIARIES<br ></strong><strong>CONSOLIDATED STATEMENTS OF OPERATIONS (UNAUDITED)<br ></strong><strong>FOR THE THREE MONTHS ENDED NOVEMBER 30, 2024, AND 2023</strong></td></tr><tr><td colspan="8" style="vertical-align: top ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td colspan="7" style="border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; "><strong>Three Months Ended November 30,</strong></td></tr><tr><td style="max-width:68%; width:68%; min-width:68%;;vertical-align: middle ; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;padding-right: 0 ; border-bottom: solid black 1pt ; text-align: right ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; ">&#160;</td><td style="max-width:13%; width:13%; min-width:13%;;padding-left: 0 ; padding-right: 0 ; border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; "><strong>2024</strong></td><td style="max-width:1%; width:1%; min-width:1%;;padding-left: 0 ; border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; ">&#160;</td><td style="max-width:2%; width:2%; min-width:2%;;text-align: center ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;padding-right: 0 ; border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; ">&#160;</td><td style="max-width:13%; width:13%; min-width:13%;;padding-left: 0 ; padding-right: 0 ; border-bottom: solid black 1pt ; text-align: center ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; "><strong>2023</strong></td><td style="max-width:1%; width:1%; min-width:1%;;padding-left: 0 ; border-bottom: solid black 1pt ; text-align: left ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">NET SALES:</td><td colspan="3" style="vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: top ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Net sales</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">21,338,393</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">20,181,675</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: middle ; vertical-align: bottom ; ">Cost of goods sold</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">13,175,440</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; 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 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">12,847,401</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; vertical-align: bottom ; ">Gross profit</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">8,162,953</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">7,334,274</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">JOINT VENTURE OPERATIONS:</td><td colspan="3" style="vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Equity in income from joint ventures</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">1,129,593</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">1,102,241</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Fees for services provided to joint ventures</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">1,284,119</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; 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 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">1,248,958</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Total joint venture operations</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">2,413,712</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">2,351,199</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">OPERATING EXPENSES:</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Selling expenses</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">4,267,654</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">3,686,058</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">General and administrative expenses</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">3,858,943</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">3,517,061</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Research and development expenses</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">1,343,397</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; 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 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">1,105,921</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: middle ; vertical-align: bottom ; ">Total operating expenses</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">9,469,994</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">8,309,040</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; vertical-align: bottom ; ">OPERATING INCOME</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">1,106,671</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,376,433</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: justify ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; vertical-align: bottom ; ">INTEREST INCOME</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">25,567</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">46,442</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; vertical-align: bottom ; ">INTEREST EXPENSE</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">(120,220</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">)</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">(111,138</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">)</td></tr><tr><td style="vertical-align: middle ; vertical-align: bottom ; ">INCOME BEFORE INCOME TAX EXPENSE</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">1,012,018</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">1,311,737</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; vertical-align: bottom ; ">INCOME TAX EXPENSE</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">217,871</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; 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 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">226,796</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; vertical-align: bottom ; ">NET INCOME</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">794,147</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">1,084,941</td><td style="border-top: solid black 1pt ; padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: justify ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; vertical-align: bottom ; ">NET INCOME ATTRIBUTABLE TO NON-CONTROLLING INTERESTS</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">233,056</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">189,420</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; vertical-align: bottom ; ">NET INCOME ATTRIBUTABLE TO NTIC</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">561,091</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">895,521</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; vertical-align: bottom ; ">NET INCOME ATTRIBUTABLE TO NTIC PER COMMON SHARE:</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 25.0px; vertical-align: middle ; vertical-align: bottom ; ">Basic</td><td style="padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.06</td><td style="padding-left: 0 ; border-bottom: double black 3pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.09</td><td style="padding-left: 0 ; border-bottom: double black 3pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 25.0px; vertical-align: middle ; vertical-align: bottom ; ">Diluted</td><td style="padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.06</td><td style="padding-left: 0 ; border-bottom: double black 3pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.09</td><td style="padding-left: 0 ; border-bottom: double black 3pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; vertical-align: bottom ; ">WEIGHTED AVERAGE COMMON SHARES ASSUMED OUTSTANDING:</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 25.0px; vertical-align: middle ; vertical-align: bottom ; ">Basic</td><td style="padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">9,470,507</td><td style="padding-left: 0 ; border-bottom: double black 3pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">9,427,588</td><td style="padding-left: 0 ; border-bottom: double black 3pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 25.0px; vertical-align: middle ; vertical-align: bottom ; ">Diluted</td><td style="padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">9,754,209</td><td style="padding-left: 0 ; border-bottom: double black 3pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">9,706,581</td><td style="padding-left: 0 ; border-bottom: double black 3pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 25.0px; vertical-align: middle ; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle ; vertical-align: bottom ; ">CASH DIVIDENDS DECLARED PER COMMON SHARE</td><td style="padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.07</td><td style="padding-left: 0 ; border-bottom: double black 3pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; padding-right: 0 ; border-bottom: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">0.07</td><td style="padding-left: 0 ; border-bottom: double black 3pt ; text-align: left ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td></tr></table> <p><br ></p>  <p><strong><br >NORTHERN TECHNOLOGIES INTERNATIONAL CORPORATION AND SUBSIDIARIES</strong><br ><strong>RECONCILIATION OF GAAP TO NON-GAAP MEASURES</strong><br ><strong>(UNAUDITED EXCEPT SHARE AND PER SHARE AMOUNTS)</strong></p>  <p align="justify">The accompanying press release contains certain non-GAAP financial measures, including adjusted net income attributable to NTIC and adjusted net income attributable to NTIC per diluted share, which are not calculated or presented in accordance with accounting principles generally accepted in the United States (GAAP). These non-GAAP financial measures are information supplemental and in addition to the financial measures presented in the accompanying release that are calculated and presented in accordance with GAAP. NTIC uses non-GAAP financial measures as supplemental measures of performance and believes these measures facilitate operating performance comparisons from period to period and company to company by factoring out potential differences caused by non-recurring, unusual or infrequent charges not related to NTIC&#8217;s regular, ongoing business. NTIC also believes that the presentation of certain non-GAAP financial measures provides useful information to investors in evaluating the company&#8217;s operations, period over period. Such non-GAAP financial measures should not be considered superior to, as a substitute for, or as an alternative to, and should be considered in conjunction with, the GAAP financial measures presented in the release. The non-GAAP financial measures in the accompanying release may differ from similar measures used by other companies.</p>  <p align="justify">The following is a reconciliation of NTIC&#8217;s reported net income attributable to NTIC and reported net income attributable to NTIC per diluted common share to adjusted net income attributable to NTIC and adjusted net income attributable to NTIC per diluted common share, in each case, as adjusted to exclude amortization expense.<br ><br ></p> <table align="center" style="width:100%; border-collapse:collapse !important;;border-collapse: collapse; "><tr><td style="vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td colspan="7" style="text-align: center ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; "><strong>Three Months Ended </strong><br ><strong>November 30,</strong></td></tr><tr><td style="max-width:68%; width:68%; min-width:68%;;vertical-align: middle ; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; ">&#160;</td><td style="max-width:13%; width:13%; min-width:13%;;border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: center ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; "><strong>2024</strong></td><td style="max-width:1%; width:1%; min-width:1%;;border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: center ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; ">&#160;</td><td style="max-width:2%; width:2%; min-width:2%;;text-align: center ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="max-width:1%; width:1%; min-width:1%;;border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: center ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; ">&#160;</td><td style="max-width:13%; width:13%; min-width:13%;;border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: center ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; "><strong>2023</strong></td><td style="max-width:1%; width:1%; min-width:1%;;border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: center ;  vertical-align: middle; vertical-align: middle ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="vertical-align: top ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="text-align: justify ;  vertical-align: middle; vertical-align: bottom ; ">Net income attributable to NTIC, as reported</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">561,091</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">$</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">895,521</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 10.0px; vertical-align: bottom ; ">Adjustments for adjusted net income:</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: middle;   text-align: left;   padding-left: 20.0px; vertical-align: bottom ; ">Amortization expense</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">105,783</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; 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 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">105,783</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Non-GAAP adjusted net income</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">666,874</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">1,001,304</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td colspan="3" style="border-top: double black 3pt ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Weighted average shares outstanding (diluted)</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">9,754,209</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">9,706,581</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Diluted net income per share, as reported</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">0.06</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">0.09</td><td style="padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Adjustments for adjusted net income, net of tax impact, per diluted share</td><td style="border-bottom: solid black 1pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">0.01</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; 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 ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">0.01</td><td style="border-bottom: solid black 1pt ; padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td></tr><tr><td style="vertical-align: bottom ; ">Non-GAAP diluted adjusted net income per share</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">0.07</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td><td style="text-align: right ;  vertical-align: middle; vertical-align: bottom ; ">&#160;</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-right: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">$</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">0.10</td><td style="border-top: solid black 1pt ; border-bottom: double black 3pt ; padding-left: 0 ; text-align: right ;  vertical-align: middle; vertical-align: top ; vertical-align: bottom ; ">&#160;</td></tr><tr><td colspan="8" style="vertical-align: bottom ; ">&#160;</td></tr></table> <p><strong>Investor and Media Contact:</strong><br >Matthew Wolsfeld, CFO<br >NTIC<br >(763) 225-6600</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/2023" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:srt="http://fasb.org/srt/2023" xmlns:srt-types="http://fasb.org/srt-types/2023" xmlns:gnw="http://globenewswire.com/20190101" elementFormDefault="qualified" targetNamespace="http://globenewswire.com/20190101">
    <annotation>
      <appinfo>
	<link:roleType roleURI="http://globenewswire.com/role/Cover" id="Cover">
	  <link:definition>00000001 - Document - Cover</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:linkbaseRef xlink:type="simple" xlink:href="gnw-20190101_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Presentation Links" />
	<link:linkbaseRef xlink:type="simple" xlink:href="gnw-20190101_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Label Links" />
	<link:linkbaseRef xlink:type="simple" xlink:href="gnw-20190101_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Definition Links" />
      </appinfo>
    </annotation>
    <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" />
    <import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" />
    <import namespace="http://xbrl.sec.gov/dei/2023" schemaLocation="https://xbrl.sec.gov/dei/2023/dei-2023.xsd" />
    <import namespace="http://fasb.org/us-gaap/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd" />
    <import namespace="http://fasb.org/us-types/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd" />
    <import namespace="http://www.xbrl.org/dtr/type/non-numeric" schemaLocation="http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd" />
    <import namespace="http://www.xbrl.org/dtr/type/numeric" schemaLocation="http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd" />
    <import namespace="http://xbrl.sec.gov/country/2023" schemaLocation="https://xbrl.sec.gov/country/2023/country-2023.xsd" />
    <import namespace="http://fasb.org/srt/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd" />
    <import namespace="http://fasb.org/srt-types/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd" />
</schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>4
<FILENAME>gnw-20190101_def.xml
<DESCRIPTION>XBRL DEFINITION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef roleURI="http://globenewswire.com/role/Cover" xlink:href="gnw-20190101.xsd#Cover" xlink:type="simple" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" arcroleURI="http://xbrl.org/int/dim/arcrole/all" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#notAll" arcroleURI="http://xbrl.org/int/dim/arcrole/notAll" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" />
    <link:definitionLink xlink:type="extended" xlink:role="http://globenewswire.com/role/Cover" xlink:title="00000001 - Document - Cover">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaapStatementClassOfStockAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementClassOfStockAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonClassAMember" xlink:label="loc_us-gaapCommonClassAMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_us-gaapCommonClassAMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredClassAMember" xlink:label="loc_us-gaapPreferredClassAMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_us-gaapPreferredClassAMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="loc_deiDocumentType_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentType_40" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="loc_deiAmendmentFlag_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiAmendmentFlag_40" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentDescription" xlink:label="loc_deiAmendmentDescription_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiAmendmentDescription_40" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentRegistrationStatement" xlink:label="loc_deiDocumentRegistrationStatement_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentRegistrationStatement_40" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAnnualReport" xlink:label="loc_deiDocumentAnnualReport_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentAnnualReport_40" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentQuarterlyReport" xlink:label="loc_deiDocumentQuarterlyReport_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentQuarterlyReport_40" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="loc_deiDocumentTransitionReport_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentTransitionReport_40" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentShellCompanyReport" xlink:label="loc_deiDocumentShellCompanyReport_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentShellCompanyReport_40" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentShellCompanyEventDate" xlink:label="loc_deiDocumentShellCompanyEventDate_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentShellCompanyEventDate_40" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodStartDate" xlink:label="loc_deiDocumentPeriodStartDate_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentPeriodStartDate_40" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="loc_deiDocumentPeriodEndDate_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentPeriodEndDate_40" xlink:type="arc" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="loc_deiCurrentFiscalYearEndDate_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiCurrentFiscalYearEndDate_40" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="loc_deiEntityFileNumber_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityFileNumber_40" xlink:type="arc" order="12" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="loc_deiEntityRegistrantName_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityRegistrantName_40" xlink:type="arc" order="13" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="loc_deiEntityCentralIndexKey_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityCentralIndexKey_40" xlink:type="arc" order="14" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPrimarySicNumber" xlink:label="loc_deiEntityPrimarySicNumber_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityPrimarySicNumber_40" xlink:type="arc" order="15" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="loc_deiEntityTaxIdentificationNumber_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityTaxIdentificationNumber_40" xlink:type="arc" order="16" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="loc_deiEntityIncorporationStateCountryCode_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityIncorporationStateCountryCode_40" xlink:type="arc" order="17" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="loc_deiEntityAddressAddressLine1_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityAddressAddressLine1_40" xlink:type="arc" order="18" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine2" xlink:label="loc_deiEntityAddressAddressLine2_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityAddressAddressLine2_40" xlink:type="arc" order="19" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine3" xlink:label="loc_deiEntityAddressAddressLine3_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityAddressAddressLine3_40" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="loc_deiEntityAddressCityOrTown_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityAddressCityOrTown_40" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="loc_deiEntityAddressStateOrProvince_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityAddressStateOrProvince_40" xlink:type="arc" order="22" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCountry" xlink:label="loc_deiEntityAddressCountry_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityAddressCountry_40" xlink:type="arc" order="23" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="loc_deiEntityAddressPostalZipCode_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityAddressPostalZipCode_40" xlink:type="arc" order="24" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CountryRegion" xlink:label="loc_deiCountryRegion_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiCountryRegion_40" xlink:type="arc" order="25" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="loc_deiCityAreaCode_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiCityAreaCode_40" xlink:type="arc" order="26" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="loc_deiLocalPhoneNumber_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiLocalPhoneNumber_40" xlink:type="arc" order="27" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Extension" xlink:label="loc_deiExtension_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiExtension_40" xlink:type="arc" order="28" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_WrittenCommunications" xlink:label="loc_deiWrittenCommunications_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiWrittenCommunications_40" xlink:type="arc" order="29" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SolicitingMaterial" xlink:label="loc_deiSolicitingMaterial_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiSolicitingMaterial_40" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementTenderOffer" xlink:label="loc_deiPreCommencementTenderOffer_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiPreCommencementTenderOffer_40" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="loc_deiPreCommencementIssuerTenderOffer_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiPreCommencementIssuerTenderOffer_40" xlink:type="arc" order="32" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="loc_deiSecurity12bTitle_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiSecurity12bTitle_40" xlink:type="arc" order="33" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_NoTradingSymbolFlag" xlink:label="loc_deiNoTradingSymbolFlag_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiNoTradingSymbolFlag_40" xlink:type="arc" order="34" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="loc_deiTradingSymbol_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiTradingSymbol_40" xlink:type="arc" order="35" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="loc_deiSecurityExchangeName_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiSecurityExchangeName_40" xlink:type="arc" order="36" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12gTitle" xlink:label="loc_deiSecurity12gTitle_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiSecurity12gTitle_40" xlink:type="arc" order="37" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityReportingObligation" xlink:label="loc_deiSecurityReportingObligation_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiSecurityReportingObligation_40" xlink:type="arc" order="38" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AnnualInformationForm" xlink:label="loc_deiAnnualInformationForm_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiAnnualInformationForm_40" xlink:type="arc" order="39" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditedAnnualFinancialStatements" xlink:label="loc_deiAuditedAnnualFinancialStatements_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiAuditedAnnualFinancialStatements_40" xlink:type="arc" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="loc_deiEntityWellKnownSeasonedIssuer_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityWellKnownSeasonedIssuer_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityVoluntaryFilers" xlink:label="loc_deiEntityVoluntaryFilers_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityVoluntaryFilers_40" xlink:type="arc" order="42" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus" xlink:label="loc_deiEntityCurrentReportingStatus_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityCurrentReportingStatus_40" xlink:type="arc" order="43" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent" xlink:label="loc_deiEntityInteractiveDataCurrent_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityInteractiveDataCurrent_40" xlink:type="arc" order="44" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory" xlink:label="loc_deiEntityFilerCategory_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityFilerCategory_40" xlink:type="arc" order="45" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness" xlink:label="loc_deiEntitySmallBusiness_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntitySmallBusiness_40" xlink:type="arc" order="46" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="loc_deiEntityEmergingGrowthCompany_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityEmergingGrowthCompany_40" xlink:type="arc" order="47" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityExTransitionPeriod" xlink:label="loc_deiEntityExTransitionPeriod_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityExTransitionPeriod_40" xlink:type="arc" order="48" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAccountingStandard" xlink:label="loc_deiDocumentAccountingStandard_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentAccountingStandard_40" xlink:type="arc" order="49" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_OtherReportingStandardItemNumber" xlink:label="loc_deiOtherReportingStandardItemNumber_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiOtherReportingStandardItemNumber_40" xlink:type="arc" order="50" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="loc_deiEntityShellCompany_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityShellCompany_40" xlink:type="arc" order="51" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPublicFloat" xlink:label="loc_deiEntityPublicFloat_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityPublicFloat_40" xlink:type="arc" order="52" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityBankruptcyProceedingsReportingCurrent" xlink:label="loc_deiEntityBankruptcyProceedingsReportingCurrent_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityBankruptcyProceedingsReportingCurrent_40" xlink:type="arc" order="53" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="loc_deiEntityCommonStockSharesOutstanding_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiEntityCommonStockSharesOutstanding_40" xlink:type="arc" order="54" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="loc_deiDocumentsIncorporatedByReferenceTextBlock_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_deiDocumentsIncorporatedByReferenceTextBlock_40" xlink:type="arc" order="55" />
    </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>5
<FILENAME>gnw-20190101_lab.xml
<DESCRIPTION>XBRL LABEL FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" roleURI="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" roleURI="http://www.xbrl.org/2009/role/netLabel" />
    <link:labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CoverAbstract" xlink:to="dei_CoverAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CoverAbstract_lbl" xml:lang="en-US">Cover [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="dei_DocumentType" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentType_lbl" xml:lang="en-US">Document Type</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentFlag_lbl" xml:lang="en-US">Amendment Flag</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentDescription" xlink:label="dei_AmendmentDescription" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentDescription" xlink:to="dei_AmendmentDescription_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentDescription_lbl" xml:lang="en-US">Amendment Description</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentRegistrationStatement" xlink:label="dei_DocumentRegistrationStatement" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentRegistrationStatement" xlink:to="dei_DocumentRegistrationStatement_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentRegistrationStatement_lbl" xml:lang="en-US">Document Registration Statement</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAnnualReport" xlink:to="dei_DocumentAnnualReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentAnnualReport_lbl" xml:lang="en-US">Document Annual Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentQuarterlyReport" xlink:to="dei_DocumentQuarterlyReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentQuarterlyReport_lbl" xml:lang="en-US">Document Quarterly Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentTransitionReport_lbl" xml:lang="en-US">Document Transition Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentShellCompanyReport" xlink:label="dei_DocumentShellCompanyReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentShellCompanyReport" xlink:to="dei_DocumentShellCompanyReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentShellCompanyReport_lbl" xml:lang="en-US">Document Shell Company Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentShellCompanyEventDate" xlink:label="dei_DocumentShellCompanyEventDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentShellCompanyEventDate" xlink:to="dei_DocumentShellCompanyEventDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentShellCompanyEventDate_lbl" xml:lang="en-US">Document Shell Company Event Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodStartDate" xlink:label="dei_DocumentPeriodStartDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodStartDate" xlink:to="dei_DocumentPeriodStartDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodStartDate_lbl" xml:lang="en-US">Document Period Start Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodEndDate_lbl" xml:lang="en-US">Document Period End Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalPeriodFocus_lbl" xml:lang="en-US">Document Fiscal Period Focus</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalYearFocus_lbl" xml:lang="en-US">Document Fiscal Year Focus</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CurrentFiscalYearEndDate_lbl" xml:lang="en-US">Current Fiscal Year End Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFileNumber_lbl" xml:lang="en-US">Entity File Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityRegistrantName_lbl" xml:lang="en-US">Entity Registrant Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCentralIndexKey_lbl" xml:lang="en-US">Entity Central Index Key</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPrimarySicNumber" xlink:label="dei_EntityPrimarySicNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityPrimarySicNumber" xlink:to="dei_EntityPrimarySicNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityPrimarySicNumber_lbl" xml:lang="en-US">Entity Primary SIC Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityTaxIdentificationNumber_lbl" xml:lang="en-US">Entity Tax Identification Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityIncorporationStateCountryCode_lbl" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine1_lbl" xml:lang="en-US">Entity Address, Address Line One</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine2" xlink:label="dei_EntityAddressAddressLine2" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine2" xlink:to="dei_EntityAddressAddressLine2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine2_lbl" xml:lang="en-US">Entity Address, Address Line Two</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine3" xlink:label="dei_EntityAddressAddressLine3" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine3" xlink:to="dei_EntityAddressAddressLine3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine3_lbl" xml:lang="en-US">Entity Address, Address Line Three</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCityOrTown_lbl" xml:lang="en-US">Entity Address, City or Town</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressStateOrProvince_lbl" xml:lang="en-US">Entity Address, State or Province</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCountry" xlink:label="dei_EntityAddressCountry" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCountry" xlink:to="dei_EntityAddressCountry_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCountry_lbl" xml:lang="en-US">Entity Address, Country</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressPostalZipCode_lbl" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CountryRegion" xlink:label="dei_CountryRegion" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CountryRegion" xlink:to="dei_CountryRegion_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CountryRegion_lbl" xml:lang="en-US">Country Region</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CityAreaCode_lbl" xml:lang="en-US">City Area Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_LocalPhoneNumber_lbl" xml:lang="en-US">Local Phone Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Extension" xlink:label="dei_Extension" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Extension" xlink:to="dei_Extension_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Extension_lbl" xml:lang="en-US">Extension</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_WrittenCommunications" xlink:label="dei_WrittenCommunications" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_WrittenCommunications" xlink:to="dei_WrittenCommunications_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_WrittenCommunications_lbl" xml:lang="en-US">Written Communications</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SolicitingMaterial" xlink:label="dei_SolicitingMaterial" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SolicitingMaterial" xlink:to="dei_SolicitingMaterial_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SolicitingMaterial_lbl" xml:lang="en-US">Soliciting Material</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementTenderOffer" xlink:label="dei_PreCommencementTenderOffer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementTenderOffer" xlink:to="dei_PreCommencementTenderOffer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_PreCommencementTenderOffer_lbl" xml:lang="en-US">Pre-commencement Tender Offer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="dei_PreCommencementIssuerTenderOffer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementIssuerTenderOffer" xlink:to="dei_PreCommencementIssuerTenderOffer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_PreCommencementIssuerTenderOffer_lbl" xml:lang="en-US">Pre-commencement Issuer Tender Offer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12bTitle_lbl" xml:lang="en-US">Title of 12(b) Security</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_NoTradingSymbolFlag" xlink:label="dei_NoTradingSymbolFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_NoTradingSymbolFlag" xlink:to="dei_NoTradingSymbolFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_NoTradingSymbolFlag_lbl" xml:lang="en-US">No Trading Symbol Flag</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_TradingSymbol_lbl" xml:lang="en-US">Trading Symbol</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityExchangeName_lbl" xml:lang="en-US">Security Exchange Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12gTitle" xlink:label="dei_Security12gTitle" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12gTitle" xlink:to="dei_Security12gTitle_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12gTitle_lbl" xml:lang="en-US">Title of 12(g) Security</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityReportingObligation" xlink:label="dei_SecurityReportingObligation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityReportingObligation" xlink:to="dei_SecurityReportingObligation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityReportingObligation_lbl" xml:lang="en-US">Security Reporting Obligation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AnnualInformationForm" xlink:label="dei_AnnualInformationForm" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AnnualInformationForm" xlink:to="dei_AnnualInformationForm_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AnnualInformationForm_lbl" xml:lang="en-US">Annual Information Form</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditedAnnualFinancialStatements" xlink:label="dei_AuditedAnnualFinancialStatements" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditedAnnualFinancialStatements" xlink:to="dei_AuditedAnnualFinancialStatements_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditedAnnualFinancialStatements_lbl" xml:lang="en-US">Audited Annual Financial Statements</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityWellKnownSeasonedIssuer" xlink:to="dei_EntityWellKnownSeasonedIssuer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityWellKnownSeasonedIssuer_lbl" xml:lang="en-US">Entity Well-known Seasoned Issuer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityVoluntaryFilers" xlink:to="dei_EntityVoluntaryFilers_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityVoluntaryFilers_lbl" xml:lang="en-US">Entity Voluntary Filers</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCurrentReportingStatus_lbl" xml:lang="en-US">Entity Current Reporting Status</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityInteractiveDataCurrent_lbl" xml:lang="en-US">Entity Interactive Data Current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFilerCategory" xlink:to="dei_EntityFilerCategory_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFilerCategory_lbl" xml:lang="en-US">Entity Filer Category</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntitySmallBusiness" xlink:to="dei_EntitySmallBusiness_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntitySmallBusiness_lbl" xml:lang="en-US">Entity Small Business</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityEmergingGrowthCompany_lbl" xml:lang="en-US">Entity Emerging Growth Company</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityExTransitionPeriod" xlink:label="dei_EntityExTransitionPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityExTransitionPeriod" xlink:to="dei_EntityExTransitionPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityExTransitionPeriod_lbl" xml:lang="en-US">Elected Not To Use the Extended Transition Period</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAccountingStandard" xlink:label="dei_DocumentAccountingStandard" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAccountingStandard" xlink:to="dei_DocumentAccountingStandard_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentAccountingStandard_lbl" xml:lang="en-US">Document Accounting Standard</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_OtherReportingStandardItemNumber" xlink:label="dei_OtherReportingStandardItemNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_OtherReportingStandardItemNumber" xlink:to="dei_OtherReportingStandardItemNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_OtherReportingStandardItemNumber_lbl" xml:lang="en-US">Other Reporting Standard Item Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityShellCompany" xlink:to="dei_EntityShellCompany_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityShellCompany_lbl" xml:lang="en-US">Entity Shell Company</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPublicFloat" xlink:label="dei_EntityPublicFloat" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityPublicFloat" xlink:to="dei_EntityPublicFloat_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityPublicFloat_lbl" xml:lang="en-US">Entity Public Float</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityBankruptcyProceedingsReportingCurrent" xlink:label="dei_EntityBankruptcyProceedingsReportingCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityBankruptcyProceedingsReportingCurrent" xlink:to="dei_EntityBankruptcyProceedingsReportingCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityBankruptcyProceedingsReportingCurrent_lbl" xml:lang="en-US">Entity Bankruptcy Proceedings, Reporting Current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCommonStockSharesOutstanding_lbl" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentsIncorporatedByReferenceTextBlock" xlink:to="dei_DocumentsIncorporatedByReferenceTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock_lbl" xml:lang="en-US">Documents Incorporated by Reference [Text Block]</link:label>
    </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>6
<FILENAME>gnw-20190101_pre.xml
<DESCRIPTION>XBRL PRESENTATION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii" standalone="no"?>
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef roleURI="http://globenewswire.com/role/Cover" xlink:href="gnw-20190101.xsd#Cover" xlink:type="simple" />
    <link:presentationLink xlink:type="extended" xlink:role="http://globenewswire.com/role/Cover" xlink:title="00000001 - Document - Cover">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract" xlink:label="loc_deiCoverAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="loc_deiDocumentType" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentType" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="loc_deiAmendmentFlag" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAmendmentFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentDescription" xlink:label="loc_deiAmendmentDescription" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAmendmentDescription" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentRegistrationStatement" xlink:label="loc_deiDocumentRegistrationStatement" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentRegistrationStatement" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAnnualReport" xlink:label="loc_deiDocumentAnnualReport" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentAnnualReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentQuarterlyReport" xlink:label="loc_deiDocumentQuarterlyReport" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentQuarterlyReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="loc_deiDocumentTransitionReport" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentTransitionReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentShellCompanyReport" xlink:label="loc_deiDocumentShellCompanyReport" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentShellCompanyReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentShellCompanyEventDate" xlink:label="loc_deiDocumentShellCompanyEventDate" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentShellCompanyEventDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodStartDate" xlink:label="loc_deiDocumentPeriodStartDate" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentPeriodStartDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="loc_deiDocumentPeriodEndDate" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentPeriodEndDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="loc_deiDocumentFiscalPeriodFocus" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentFiscalPeriodFocus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus" xlink:label="loc_deiDocumentFiscalYearFocus" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentFiscalYearFocus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="loc_deiCurrentFiscalYearEndDate" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCurrentFiscalYearEndDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="loc_deiEntityFileNumber" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityFileNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="loc_deiEntityRegistrantName" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityRegistrantName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="loc_deiEntityCentralIndexKey" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCentralIndexKey" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPrimarySicNumber" xlink:label="loc_deiEntityPrimarySicNumber" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityPrimarySicNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="loc_deiEntityTaxIdentificationNumber" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityTaxIdentificationNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="loc_deiEntityIncorporationStateCountryCode" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityIncorporationStateCountryCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="loc_deiEntityAddressAddressLine1" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine2" xlink:label="loc_deiEntityAddressAddressLine2" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine3" xlink:label="loc_deiEntityAddressAddressLine3" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine3" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="loc_deiEntityAddressCityOrTown" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressCityOrTown" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="loc_deiEntityAddressStateOrProvince" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressStateOrProvince" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCountry" xlink:label="loc_deiEntityAddressCountry" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressCountry" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="loc_deiEntityAddressPostalZipCode" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressPostalZipCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CountryRegion" xlink:label="loc_deiCountryRegion" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCountryRegion" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="loc_deiCityAreaCode" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCityAreaCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="loc_deiLocalPhoneNumber" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiLocalPhoneNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Extension" xlink:label="loc_deiExtension" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiExtension" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_WrittenCommunications" xlink:label="loc_deiWrittenCommunications" />
      <link:presentationArc order="310" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiWrittenCommunications" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SolicitingMaterial" xlink:label="loc_deiSolicitingMaterial" />
      <link:presentationArc order="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSolicitingMaterial" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementTenderOffer" xlink:label="loc_deiPreCommencementTenderOffer" />
      <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiPreCommencementTenderOffer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="loc_deiPreCommencementIssuerTenderOffer" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiPreCommencementIssuerTenderOffer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="loc_deiSecurity12bTitle" />
      <link:presentationArc order="350" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurity12bTitle" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_NoTradingSymbolFlag" xlink:label="loc_deiNoTradingSymbolFlag" />
      <link:presentationArc order="360" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiNoTradingSymbolFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="loc_deiTradingSymbol" />
      <link:presentationArc order="370" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiTradingSymbol" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="loc_deiSecurityExchangeName" />
      <link:presentationArc order="380" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurityExchangeName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12gTitle" xlink:label="loc_deiSecurity12gTitle" />
      <link:presentationArc order="390" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurity12gTitle" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityReportingObligation" xlink:label="loc_deiSecurityReportingObligation" />
      <link:presentationArc order="400" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurityReportingObligation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AnnualInformationForm" xlink:label="loc_deiAnnualInformationForm" />
      <link:presentationArc order="410" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAnnualInformationForm" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditedAnnualFinancialStatements" xlink:label="loc_deiAuditedAnnualFinancialStatements" />
      <link:presentationArc order="420" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAuditedAnnualFinancialStatements" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="loc_deiEntityWellKnownSeasonedIssuer" />
      <link:presentationArc order="430" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityWellKnownSeasonedIssuer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityVoluntaryFilers" xlink:label="loc_deiEntityVoluntaryFilers" />
      <link:presentationArc order="440" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityVoluntaryFilers" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus" xlink:label="loc_deiEntityCurrentReportingStatus" />
      <link:presentationArc order="450" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCurrentReportingStatus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent" xlink:label="loc_deiEntityInteractiveDataCurrent" />
      <link:presentationArc order="460" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityInteractiveDataCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory" xlink:label="loc_deiEntityFilerCategory" />
      <link:presentationArc order="470" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityFilerCategory" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness" xlink:label="loc_deiEntitySmallBusiness" />
      <link:presentationArc order="480" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntitySmallBusiness" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="loc_deiEntityEmergingGrowthCompany" />
      <link:presentationArc order="490" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityEmergingGrowthCompany" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityExTransitionPeriod" xlink:label="loc_deiEntityExTransitionPeriod" />
      <link:presentationArc order="500" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityExTransitionPeriod" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAccountingStandard" xlink:label="loc_deiDocumentAccountingStandard" />
      <link:presentationArc order="510" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentAccountingStandard" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_OtherReportingStandardItemNumber" xlink:label="loc_deiOtherReportingStandardItemNumber" />
      <link:presentationArc order="520" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiOtherReportingStandardItemNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="loc_deiEntityShellCompany" />
      <link:presentationArc order="530" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityShellCompany" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPublicFloat" xlink:label="loc_deiEntityPublicFloat" />
      <link:presentationArc order="540" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityPublicFloat" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityBankruptcyProceedingsReportingCurrent" xlink:label="loc_deiEntityBankruptcyProceedingsReportingCurrent" />
      <link:presentationArc order="550" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityBankruptcyProceedingsReportingCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="loc_deiEntityCommonStockSharesOutstanding" />
      <link:presentationArc order="560" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCommonStockSharesOutstanding" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="loc_deiDocumentsIncorporatedByReferenceTextBlock" />
      <link:presentationArc order="570" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentsIncorporatedByReferenceTextBlock" xlink:type="arc" />
    </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>8
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.4</span><table class="report" border="0" cellspacing="2" id="idm45387003011296">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Cover<br></strong></div></th>
<th class="th"><div>Jan. 08, 2025</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">8-K<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Jan.  08,  2025<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">001-11038<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">NORTHERN TECHNOLOGIES INTERNATIONAL CORPORATION<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0000875582<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">41-0857886<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">DE<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">4201 Woodland RoadP.O. Box 69<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Circle Pines<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">MN<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">55014<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">763<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">225-6600<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_WrittenCommunications', window );">Written Communications</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_SolicitingMaterial', window );">Soliciting Material</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_PreCommencementTenderOffer', window );">Pre-commencement Tender Offer</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_PreCommencementIssuerTenderOffer', window );">Pre-commencement Issuer Tender Offer</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common stock, par value $0.02 per share<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">NTIC<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_PreCommencementIssuerTenderOffer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 13e<br> -Subsection 4c<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_PreCommencementIssuerTenderOffer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_PreCommencementTenderOffer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 14d<br> -Subsection 2b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_PreCommencementTenderOffer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SolicitingMaterial">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as soliciting material pursuant to Rule 14a-12 under the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Section 14a<br> -Number 240<br> -Subsection 12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SolicitingMaterial</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_WrittenCommunications">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as written communications pursuant to Rule 425 under the Securities Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br> -Section 425<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_WrittenCommunications</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>9
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    (  2(*%H'04UB@0   +$    0    9&]C4')O<',O87!P+GAM
M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG
M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGD<Z,STA)8*O4'J@)I9GF
M3?X.CD:?<@X>K7A.YNJQ<&4GPZ4A!0W_<FW>J=0U[R;UEA_6\#MI7E!+ P04
M    "  $B"A:O[_6A^X    K @  $0   &1O8U!R;W!S+V-O<F4N>&ULS9+!
M:L,P#(9?9?B>R'%9&2;UI6.G#08K;.QF9+4UBQ-C:R1]^R59FS*V!]C1TN]/
MGT U1HU=HN?414KL*=\,H6FSQK@11^:H 3(>*=A<CHEV;.Z[%"R/SW2 :/'#
M'@B4E&L(Q-99MC !B[@0A:D=:DQDN4MGO,,%'S]3,\,< C44J.4,55F!,-/$
M>!J:&JZ "<:40OXND%N(<_5/[-P!<4X.V2^ION_+?C7GQATJ>'MZ?)G7+7R;
MV;9(XZ_L-9\B;<1E\NMJ>[][$$9)=5O(JI!W.Z6TE%JNWR?7'WY7X= YO_?_
MV/@B:&KX=1?F"U!+ P04    "  $B"A:F5R<(Q &  "<)P  $P   'AL+W1H
M96UE+W1H96UE,2YX;6SM6EMSVC@4?N^OT'AG]FT+QC:!MK03<VEVV[29A.U.
M'X416(UL>621A'^_1S80RY8-[9)-NIL\!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X
M8-DOV]:[MR_>X%<R)!%!,!FGK_# "J5,7K5::0##.'W)$Q+#W(*+"$MX%,O6
M7.!;&B\CUNJTV]U6A&ELH1A'9&!]7BQH0-!445IO7R"TY1\S^!7+5(UEHP$3
M5T$FN8BT\OELQ?S:WCYES^DZ'3*!;C ;6"!_SF^GY$Y:B.%4PL3 :F<_5FO'
MT=)(@(+)?90%NDGVH],5"#(-.SJ=6,YV?/;$[9^,RMIT-&T:X./Q>#BVR]*+
M<!P$X%&[GL*=]&R_I$$)M*-IT&38]MJND::JC5-/T_=]W^N;:)P*C5M/TVMW
MW=..B<:MT'@-OO%/A\.NB<:KT'3K:28G_:YKI.D6:$)&X^MZ$A6UY4#3( !8
M<';6S-(#EEXI^G64&MD=N]U!7/!8[CF)$?[&Q036:=(9EC1&<IV0!0X -\31
M3%!\KT&VBN#"DM)<D-;/*;50&@B:R('U1X(AQ=RO_?67N\FD,WJ=?3K.:Y1_
M::L!I^V[F\^3_'/HY)^GD]=-0LYPO"P)\?LC6V&')VX[$W(Z'&="?,_V]I&E
M)3+/[_D*ZTX\9Q]6EK!=S\_DGHQR([O=]EA]]D]';B/7J<"S(M>41B1%G\@M
MNN01.+5)#3(3/PB=AIAJ4!P"I DQEJ&&^+3&K!'@$WVWO@C(WXV(]ZMOFCU7
MH5A)VH3X$$8:XIQSYG/1;/L'I4;1]E6\W*.76!4!EQC?-*HU+,76>)7 \:V<
M/!T3$LV4"P9!AI<D)A*I.7Y-2!/^*Z7:_IS30/"4+R3Z2I&/:;,CIW0FS>@S
M&L%&KQMUAVC2/'K^!?F<-0H<D1L= F<;LT8AA&F[\!ZO)(Z:K<(1*T(^8ADV
M&G*U%H&V<:F$8%H2QM%X3M*T$?Q9K#63/F#([,V1=<[6D0X1DEXW0CYBSHN0
M$;\>ACA*FNVB<5@$_9Y>PTG!Z(++9OVX?H;5,VPLCO='U!=*Y \FIS_I,C0'
MHYI9";V$5FJ?JH<T/J@>,@H%\;D>/N5Z> HWEL:\4*Z">P'_T=HWPJOX@L Y
M?RY]SZ7ON?0]H=*W-R-]9\'3BUO>1FY;Q/NN,=K7-"XH8U=RS<C'5*^3*=@Y
MG\#L_6@^GO'M^MDDA*^:62TC%I!+@;-!)+C\B\KP*L0)Z&1;)0G+5--E-XH2
MGD(;;NE3]4J5U^6ON2BX/%ODZ:^A=#XLS_D\7^>TS0LS0[=R2^JVE+ZU)CA*
M]+',<$X>RPP[9SR2';9WH!TU^_9==N0CI3!3ET.X&D*^ VVZG=PZ.)Z8D;D*
MTU*0;\/YZ<5X&N(YV02Y?9A7;>?8T='[Y\%1L*/O/)8=QXCRHB'NH8:8S\-#
MAWE[7YAGE<90-!1M;*PD+$:W8+C7\2P4X&1@+: '@Z]1 O)256 Q6\8#*Y"B
M?$R,1>APYY=<7^/1DN/;IF6U;J\I=QEM(E(YPFF8$V>KRMYEL<%5'<]56_*P
MOFH]M!5.S_Y9K<B?#!%.%@L22&.4%Z9*HO,94[[G*TG$53B_13.V$I<8O./F
MQW%.4[@2=K8/ C*YNSFI>F4Q9Z;RWRT,"2Q;B%D2XDU=[=7GFYRN>B)V^I=W
MP6#R_7#)1P_E.^=?]%U#KG[VW>/Z;I,[2$R<><41 71% B.5' 86%S+D4.Z2
MD 83 <V4R43P H)DIAR F/H+O?(,N2D5SJT^.7]%+(.&3E[2)1(4BK ,!2$7
M<N/O[Y-J=XS7^BR!;814,F35%\I#B<$],W)#V%0E\Z[:)@N%V^)4S;L:OB9@
M2\-Z;ITM)__;7M0]M!<]1O.CF> >LX=SFWJXPD6L_UC6'ODRWSEPVSK> U[F
M$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[M'OQ@2";_-;;I/;=X Q\U*M:I60K$3]+
M!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F 6/,,H68XWX=%FAHSU8NL.8T*;T'5
M0.4_V]0-:/8--!R1!5XQF;8VH^1."CS<_N\-L,+$CN'MB[\!4$L#!!0    (
M  2(*%J0OD=;; 0  *40   8    >&PO=V]R:W-H965T<R]S:&5E=#$N>&UL
MG9AO<^(V$,:_BL;M=-J9!&R'/TX*S!!"+O02<($V,^WTA; %:,ZV?)(<R+?O
MRA";WIDUT[P(EO$^_FFU?M:BMQ/RB]HRILD^CA+5M[9:IW?-I@JV+*:J(5*6
MP#=K(6.J82@W395*1L,\*(Z:KFUWFC'EB37HY>=\.>B)3$<\8;XD*HMC*M_O
M621V?<NQ/D[,^6:KS8GFH)?2#5LP_4?J2Q@U"Y60QRQ17"1$LG7?&CIW]V[+
M!.17_,G93IT<$S.5E1!?S& 2]BW;$+&(!=I(4/AX8R,6148).+X>1:WBGB;P
M]/A#_3&?/$QF114;B>B5AWK;MSR+A&Q-LTC/Q>Z)'2?4-GJ!B%3^G^P.U[9:
M%@DRI45\# :"F">'3[H_)N(TP#L3X!X#W)S[<*.<\H%J.NA)L2/27 UJYB"?
M:AX-<#PQJ[+0$K[E$*<'(_'&9*^I0<J<: ;'L/M#F'LF[#>:-(CM71'7=MO_
M#6\"08'A%AANKG>#89"_ARNE)2S4/U5$!X56M8*IWCN5TH#U+2A/Q>0;LP8_
M_>!T[%\1OIN"[P93'SR(((-:U&3YGK(J.#S<N_Z,0+0*B!:J,@2",*=XC.BF
MB@*/7]-(,82C77"T+TN&SR07(1DG(8'BJ\P+KI2745Y'=874*=@ZJ.(XT5R_
MDT<>,3+-XE5U<>,:MNU<.XY]XR$\W8*G>PG/G&VX*6U(VI3&E9G"=::S^?)I
M/)^2Y7CT-)T]SSY-Q@LRF2[AW' YF4V'SV0TF_NS>3Y"R+V"W+N$? 0++6E$
M)DG(]N0S>Z]BQY5L^/.Z[;;G(EBW!=;M)5A+NB>3$-CXF@<T-_CSRXTKMIQK
MVVMW/:^#X#EV::CV)8"3)! R%3)GNR(+#0\($9*,1 8)A;R*L+(,:M0?QACD
MB>L[ET .PQ"\4EU]')!GN([,DFHR7++EV@YY%2*,*/C!7-#0;\P:Y%[L2><6
M@RY[A(-:_'?0(S."E"[%+JD$QN5&7 ;@$CZ<5AA?V2,<W.6_Y2O6W)?BC2=!
M=59QS1?L47;*SN'@UO\MFB^4AH?Z+YZ>+T1<L=VVG1;&5G83!V\"^3(.X97R
M/ HNT.W<8"!EZW!PWW\6 >3$WXH$ZQTU(J[;ONYT;!LC*IN'@[O^J^1:LP02
M$\=9<C0Z54F%"]6U?J?L"@YNY@L1\8!KGFS("Y2WY#2JY,%5:GG*=N#@[NU+
M=AU >A@\7X<W-'A)@G?)V7I]9OUPO3HRMVP$+F[5WY%-E,J K ZP1K86L&P"
M+N[82Z[!_\2:..[/JU_(@@49U%ME@Z]1,O4)'1AV*\&7*Y)22=YHE#'RH]VP
M79+";-662I3Z9*> V_92TM!4W^(]7HG*VJL1F"XG(XRD]'L7]^:/A)'Q/MC2
M9,/.OMO5"$V'BX?A[QA3:?3N148_CIG<F"Q] @6]-0:2TJ1Z:?_GIJ%YLNDT
M&_@7:NZH2,36(&0WNF#:\K G/@RT2/-]Z$IHV-7FAUM&X5$P%\#W:R'TQ\!L
M;8M?)@;_ E!+ P04    "  $B"A:GZ ;\+$"  #B#   #0   'AL+W-T>6QE
M<RYX;6S=5VUKVS 0_BM"/V!N8FKBD1BV0&&PC4+S85^56'8$>O%DN7/ZZZ>S
M;"=I=67=A['-H<G=/;J[1W<GF:Y;=Y+\X<BY([V2NMW0HW/-^R1I#T>N6/O.
M-%Q[I#)6,>=56R=M8SDK6W!2,EG>W&2)8D+38JT[=:=<2PZFTVY#;VA2K"NC
MSY:4!H-?RA0GCTQNZ)9)L;=B6,N4D*=@7H+A8*2QQ'DJ?$,78&F? KP(&K <
MXRBAC05C$C*$[_VX_!DP::U7A90SP24-AF+=,.>XU7=>&18/QA<0&>7=J?$,
M:\M.B^4M/3L,/S[)WMB2VSG-@DZF8BUY!72LJ(_PZTR3 .B<45XH!:N-9@.'
MR6,4?-@#E_(!6OBMNHK=5R3TXE,);2"PU4GTA$8QA D*Q+^,%F)?A+W]K;"D
M$8_&?>S\;O2@?^^,X_>65Z(?]+Z:\V/1%WATUC3R]$&*6BL>]O[+"8LUF_S(
MT5CQY+/!I!R\@5M*'KEUXG!I^6%9L^.]FZ:IKW#.RW^0\Y^M<\TUMTQ>DO:C
M_S=7^2V,D_'T7!S1JP,Z6PE<A!OZ%>Y7>>9 ]IV03NA1.XJRY/K%.?7A'=O[
M"_PJOE]?\HIUTNUF<$//\A=>BD[E\ZI[J,NXZBQ_AOMHD<VWL,\E=,E[7FY'
MU=;[021>\%G'!QR>(W?#$T<PGX#%$<"P/!@#S"=X87G^I_VLT/T$#..VBB(K
MU&>%^@2O&+(=/EB>N$_NG_A.\SQ-LPRKZ'8;9;#%ZI9E\!>/AG$##RP/9'I;
MK?%NXQ/R^AQ@/7UM0K"=XI.([12O-2#QNH%'GL>[C>4!#ZP+V.Q _G@>F*FX
M3YI"5S%NV G&D3S'$)C%^(QF&5*=##[Q_F"G)$WS/(X %F>0IA@"IQ%', ;
M 4/2='@//GL?)=-[*CG_5U/\!%!+ P04    "  $B"A:EXJ[',     3 @
M"P   %]R96QS+RYR96QSG9*Y;L,P#$!_Q=">, ?0(8@S9?$6!/D!5J(/V!(%
MBD6=OZ_:I7&0"QEY/3P2W!YI0.TXI+:+J1C]$%)I6M6X 4BV)8]ISI%"KM0L
M'C6'TD!$VV-#L%HL/D N&6:WO606IW.D5XA<UYVE/=LO3T%O@*\Z3'%":4A+
M,P[PS=)_,O?S##5%Y4HCE5L:>-/E_G;@2=&A(E@6FD7)TZ(=I7\=Q_:0T^FO
M8R*T>EOH^7%H5 J.W&,EC'%BM/XU@LD/['X 4$L#!!0    (  2(*%JJQ"(6
M,P$  "("   /    >&PO=V]R:V)O;VLN>&ULC5'1;L(P#/R5*A^P%K0A#5%>
M0-N0I@V-B??0NM0BB2O'A8VOG]NJ&M)>]I3<V;K<7187XM.!Z)1\>1=B;FJ1
M9IZFL:C!VWA'#02=5,3>BD(^IK%AL&6L <2[=)IEL]1;#&:Y&+6VG-X"$B@$
M*2C9$7N$2_R==S Y8\0#.I3OW/1W!R;Q&-#C%<K<9":)-5U>B/%*0:S;%4S.
MY68R#/; @L4?>M>9_+2'V#-B#Q]6C>1FEJE@A1REW^CUK7H\@RX/J!5Z0B?
M:ROPS-0V&(Z=C*9(;V+T/8SG4.*<_U,C5146L*:B]1!DZ)'!=09#K+&))@G6
M0VY6= ;N\N@#FW+()FKJIBF>HPYX4P[V1D\E5!B@?%.9J+SV4VPYZ8Y>9WK_
M,'G4'EKG5LJ]AU>RY1AQ_)[E#U!+ P04    "  $B"A:)!Z;HJT   #X 0
M&@   'AL+U]R96QS+W=O<FMB;V]K+GAM;"YR96QSM9$]#H,P#(6O$N4 -5"I
M0P5,75@K+A %\R,2$L6N"K<OA0&0.G1ALIXM?^_)3I]H%'=NH+;S)$9K!LID
MR^SO *1;M(HNSN,P3VH7K.)9A@:\TKUJ$)(HND'8,V2>[IFBG#S^0W1UW6E\
M./VR./ /,+Q=Z*E%9"E*%1KD3,)HMC;!4N++3):BJ#(9BBJ6<%H@XLD@;6E6
M?;!/3K3G>1<W]T6NS>,)KM\,<'AT_@%02P,$%     @ !(@H6F60>9(9 0
MSP,  !,   !;0V]N=&5N=%]4>7!E<UTN>&ULK9--3L,P$(6O$F5;)2XL6*"F
M&V +77 !8T\:J_Z39UK2VS-.VDJ@$A6%3:QXWKS/GI>LWH\1L.B=]=B4'5%\
M% )5!TYB'2)XKK0A.4G\FK8B2K636Q#WR^6#4,$3>*HH>Y3KU3.T<F^I>.EY
M&TWP39G 8ED\C<+,:DH9HS5*$M?%P>L?E.I$J+EST&!G(BY84(JKA%SY'7#J
M>SM 2D9#L9&)7J5CE>BM0#I:P'K:XLH90]L:!3JHO>.6&F,"J;$#(&?KT70Q
M32:>,(S/N]G\P68*R,I-"A$YL01_QYTCR=U59"-(9*:O>"&R]>S[04Y;@[Z1
MS>/]#&DWY(%B6.;/^'O&%_\;SO$1PNZ_/[&\UDX:?^:+X3]>?P%02P$"% ,4
M    "  $B"A:!T%-8H$   "Q    $               @ $     9&]C4')O
M<',O87!P+GAM;%!+ 0(4 Q0    (  2(*%J_O]:'[@   "L"   1
M      "  :\   !D;V-0<F]P<R]C;W)E+GAM;%!+ 0(4 Q0    (  2(*%J9
M7)PC$ 8  )PG   3              "  <P!  !X;"]T:&5M92]T:&5M93$N
M>&UL4$L! A0#%     @ !(@H6I"^1UML!   I1   !@              ("!
M#0@  'AL+W=O<FMS:&5E=',O<VAE970Q+GAM;%!+ 0(4 Q0    (  2(*%J?
MH!OPL0(  .(,   -              "  :\,  !X;"]S='EL97,N>&UL4$L!
M A0#%     @ !(@H6I>*NQS     $P(   L              ( !BP\  %]R
M96QS+RYR96QS4$L! A0#%     @ !(@H6JK$(A8S 0  (@(   \
M     ( !=!   'AL+W=O<FMB;V]K+GAM;%!+ 0(4 Q0    (  2(*%HD'INB
MK0   /@!   :              "  =01  !X;"]?<F5L<R]W;W)K8F]O:RYX
M;6PN<F5L<U!+ 0(4 Q0    (  2(*%IED'F2&0$  ,\#   3
M  "  ;D2  !;0V]N=&5N=%]4>7!E<UTN>&UL4$L%!@     )  D /@(   ,4
$      $!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.report sup {
	font-style: italic;
}

.report .outerFootnotes {
	font-size: 1em;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.4</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>1</ContextCount>
  <ElementCount>22</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>0</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>3</UnitCount>
  <MyReports>
    <Report instance="f8k_010825.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>00000001 - Document - Cover</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://globenewswire.com/role/Cover</Role>
      <ShortName>Cover</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="8-K" isOnlyDei="true" isUsgaap="true" original="f8k_010825.htm">f8k_010825.htm</File>
    <File>gnw-20190101.xsd</File>
    <File>gnw-20190101_def.xml</File>
    <File>gnw-20190101_lab.xml</File>
    <File>gnw-20190101_pre.xml</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="22">http://xbrl.sec.gov/dei/2023</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>false</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>15
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "f8k_010825.htm": {
   "nsprefix": "gnw",
   "nsuri": "http://globenewswire.com/20190101",
   "dts": {
    "inline": {
     "local": [
      "f8k_010825.htm"
     ]
    },
    "schema": {
     "local": [
      "gnw-20190101.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd",
      "http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd",
      "https://xbrl.sec.gov/country/2023/country-2023.xsd",
      "https://xbrl.sec.gov/dei/2023/dei-2023.xsd"
     ]
    },
    "definitionLink": {
     "local": [
      "gnw-20190101_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "gnw-20190101_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "gnw-20190101_pre.xml"
     ]
    }
   },
   "keyStandard": 22,
   "keyCustom": 0,
   "axisStandard": 0,
   "axisCustom": 0,
   "memberStandard": 0,
   "memberCustom": 0,
   "hidden": {
    "total": 2,
    "http://xbrl.sec.gov/dei/2023": 2
   },
   "contextCount": 1,
   "entityCount": 1,
   "segmentCount": 0,
   "elementCount": 59,
   "unitCount": 3,
   "baseTaxonomies": {
    "http://xbrl.sec.gov/dei/2023": 22
   },
   "report": {
    "R1": {
     "role": "http://globenewswire.com/role/Cover",
     "longName": "00000001 - Document - Cover",
     "shortName": "Cover",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "Form8K",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "f8k_010825.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Form8K",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "f8k_010825.htm",
      "first": true,
      "unique": true
     }
    }
   },
   "tag": {
    "dei_AmendmentDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AmendmentDescription",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Description",
        "documentation": "Description of changes contained within amended document."
       }
      }
     },
     "auth_ref": []
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "dei_AnnualInformationForm": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AnnualInformationForm",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Annual Information Form",
        "documentation": "Boolean flag with value true on a form if it is an annual report containing an annual information form."
       }
      }
     },
     "auth_ref": [
      "r14"
     ]
    },
    "dei_AuditedAnnualFinancialStatements": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditedAnnualFinancialStatements",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Audited Annual Financial Statements",
        "documentation": "Boolean flag with value true on a form if it is an annual report containing audited financial statements."
       }
      }
     },
     "auth_ref": [
      "r14"
     ]
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CityAreaCode",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CountryRegion": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CountryRegion",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Country Region",
        "documentation": "Region code of country"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Cover [Abstract]",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Fiscal Year End Date",
        "documentation": "End date of current fiscal year in the format --MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentAccountingStandard": {
     "xbrltype": "accountingStandardItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentAccountingStandard",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Accounting Standard",
        "documentation": "The basis of accounting the registrant has used to prepare the financial statements included in this filing This can either be 'U.S. GAAP', 'International Financial Reporting Standards', or 'Other'."
       }
      }
     },
     "auth_ref": [
      "r13"
     ]
    },
    "dei_DocumentAnnualReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentAnnualReport",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Annual Report",
        "documentation": "Boolean flag that is true only for a form used as an annual report."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r13",
      "r14"
     ]
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Period Focus",
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentFiscalYearFocus": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalYearFocus",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Year Focus",
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period End Date",
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodStartDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentPeriodStartDate",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period Start Date",
        "documentation": "The start date of the period covered in the document, in YYYY-MM-DD format."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentQuarterlyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentQuarterlyReport",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Quarterly Report",
        "documentation": "Boolean flag that is true only for a form used as an quarterly report."
       }
      }
     },
     "auth_ref": [
      "r12"
     ]
    },
    "dei_DocumentRegistrationStatement": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentRegistrationStatement",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Registration Statement",
        "documentation": "Boolean flag that is true only for a form used as a registration statement."
       }
      }
     },
     "auth_ref": [
      "r0"
     ]
    },
    "dei_DocumentShellCompanyEventDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentShellCompanyEventDate",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Shell Company Event Date",
        "documentation": "Date of event requiring a shell company report."
       }
      }
     },
     "auth_ref": [
      "r13"
     ]
    },
    "dei_DocumentShellCompanyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentShellCompanyReport",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Shell Company Report",
        "documentation": "Boolean flag that is true for a Shell Company Report pursuant to section 13 or 15(d) of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r13"
     ]
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Transition Report",
        "documentation": "Boolean flag that is true only for a form used as a transition report."
       }
      }
     },
     "auth_ref": [
      "r15"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentType",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Type",
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentsIncorporatedByReferenceTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentsIncorporatedByReferenceTextBlock",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Documents Incorporated by Reference [Text Block]",
        "documentation": "Documents incorporated by reference."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line One",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine2": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine2",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line Two",
        "documentation": "Address Line 2 such as Street or Suite number"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine3": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine3",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line Three",
        "documentation": "Address Line 3 such as an Office Park"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, City or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCountry": {
     "xbrltype": "countryCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressCountry",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Country",
        "documentation": "ISO 3166-1 alpha-2 country code."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Postal Zip Code",
        "documentation": "Code for the postal or zip code"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressStateOrProvince": {
     "xbrltype": "stateOrProvinceItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, State or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityBankruptcyProceedingsReportingCurrent": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityBankruptcyProceedingsReportingCurrent",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Bankruptcy Proceedings, Reporting Current",
        "documentation": "For registrants involved in bankruptcy proceedings during the preceding five years, the value Yes indicates that the registrant has filed all documents and reports required to be filed by Section 12, 13 or 15(d) of the Securities Exchange Act of 1934 subsequent to the distribution of securities under a plan confirmed by a court; the value No indicates the registrant has not.  Registrants not involved in bankruptcy proceedings during the preceding five years should not report this element."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Central Index Key",
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Common Stock, Shares Outstanding",
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCurrentReportingStatus": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCurrentReportingStatus",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Current Reporting Status",
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "dei_EntityExTransitionPeriod": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityExTransitionPeriod",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Elected Not To Use the Extended Transition Period",
        "documentation": "Indicate if an emerging growth company has elected not to use the extended transition period for complying with any new or revised financial accounting standards."
       }
      }
     },
     "auth_ref": [
      "r19"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity File Number",
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityFilerCategory": {
     "xbrltype": "filerCategoryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFilerCategory",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Filer Category",
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Incorporation, State or Country Code",
        "documentation": "Two-character EDGAR code representing the state or country of incorporation."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityInteractiveDataCurrent": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityInteractiveDataCurrent",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Interactive Data Current",
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)."
       }
      }
     },
     "auth_ref": [
      "r16"
     ]
    },
    "dei_EntityPrimarySicNumber": {
     "xbrltype": "sicNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityPrimarySicNumber",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Primary SIC Number",
        "documentation": "Primary Standard Industrial Classification (SIC) Number for the Entity."
       }
      }
     },
     "auth_ref": [
      "r14"
     ]
    },
    "dei_EntityPublicFloat": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityPublicFloat",
     "crdr": "credit",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Public Float",
        "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Shell Company",
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Tax Identification Number",
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "dei_EntityVoluntaryFilers": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityVoluntaryFilers",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Voluntary Filers",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityWellKnownSeasonedIssuer",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Well-known Seasoned Issuer",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A."
       }
      }
     },
     "auth_ref": [
      "r17"
     ]
    },
    "dei_Extension": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Extension",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Extension",
        "documentation": "Extension number for local phone number."
       }
      }
     },
     "auth_ref": []
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "dei_NoTradingSymbolFlag": {
     "xbrltype": "trueItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "NoTradingSymbolFlag",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "No Trading Symbol Flag",
        "documentation": "Boolean flag that is true only for a security having no trading symbol."
       }
      }
     },
     "auth_ref": []
    },
    "dei_OtherReportingStandardItemNumber": {
     "xbrltype": "otherReportingStandardItemNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "OtherReportingStandardItemNumber",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Reporting Standard Item Number",
        "documentation": "\"Item 17\" or \"Item 18\" specified when the basis of accounting is neither US GAAP nor IFRS."
       }
      }
     },
     "auth_ref": [
      "r13"
     ]
    },
    "dei_PreCommencementIssuerTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "PreCommencementIssuerTenderOffer",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pre-commencement Issuer Tender Offer",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "dei_PreCommencementTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "PreCommencementTenderOffer",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pre-commencement Tender Offer",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Security12bTitle",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "dei_Security12gTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Security12gTitle",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(g) Security",
        "documentation": "Title of a 12(g) registered security."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "dei_SecurityReportingObligation": {
     "xbrltype": "securityReportingObligationItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SecurityReportingObligation",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Reporting Obligation",
        "documentation": "15(d), indicating whether the security has a reporting obligation under that section of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "dei_SolicitingMaterial": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SolicitingMaterial",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Soliciting Material",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as soliciting material pursuant to Rule 14a-12 under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "TradingSymbol",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "dei_WrittenCommunications": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "WrittenCommunications",
     "presentation": [
      "http://globenewswire.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Written Communications",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as written communications pursuant to Rule 425 under the Securities Act."
       }
      }
     },
     "auth_ref": [
      "r18"
     ]
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12"
  },
  "r1": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r2": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r3": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-23"
  },
  "r4": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r5": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "g"
  },
  "r6": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12, 13, 15d"
  },
  "r7": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "13e",
   "Subsection": "4c"
  },
  "r8": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "14d",
   "Subsection": "2b"
  },
  "r9": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "15",
   "Subsection": "d"
  },
  "r10": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Section": "14a",
   "Number": "240",
   "Subsection": "12"
  },
  "r11": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-K",
   "Number": "249",
   "Section": "310"
  },
  "r12": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-Q",
   "Number": "240",
   "Section": "308",
   "Subsection": "a"
  },
  "r13": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Number": "249",
   "Section": "220",
   "Subsection": "f"
  },
  "r14": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Number": "249",
   "Section": "240",
   "Subsection": "f"
  },
  "r15": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r16": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r17": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "405"
  },
  "r18": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "425"
  },
  "r19": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "7A",
   "Section": "B",
   "Subsection": "2"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>16
<FILENAME>0001171843-25-000134-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001171843-25-000134-xbrl.zip
M4$L#!!0    (  2(*%KE^_@>&BH  ";Z 0 +    97AH7SDY,2YH=&WM?7MW
MXC@2[R>XWT';\SC=YRC$#YZ=3)]#$SK-W@2R0&9V[W\&B^!I8[.6G73VT]\J
MR0:;5R#A88CGG)Z L:12/7XJE:32Y3^N6K7N?^[JY'OW]H;<W7^]:=3(A[/S
M\[_TVOGY5?=*_I#/*:3K&0ZW?,MU#/O\O-[\\.5RZ(]L8AO.PQ\?F'-VW\%'
MS#"_7/J6;[,O=?/!\+Y9MN4\7)[+1Y<CYAND[SH^<_P_/OCLIW^.M5R0_M#P
M.//_>+(<TWWB9ZI6T#Z0L(!CC-@?'Z[KS7J[VFVU/TQKN.T( LLY1<F5BHJ:
M4\M*)8\%SR4I/==\)KV'OFN[WA\??AF(_X#0,>'^L\TD#6>&;3TXGXEG/0S]
M"_B5^Y[K/'RI__M[XVNC2RJ5G'IY'CZ\/!\O*=X'DIB'Y0= 7_0&?C[CUO_8
M9Z+FQ_'JFZ[G#YGGD"[K#QV@\,%BG#2P$L>0G"8UUQN[GOA&V@P^^IQ\LQS#
MZ5OP:YOQP(8G ]>#IQ[WR;\"PX/R\(WWX05-T0HQRI&6M3HP*9'H])?_0^!_
MMXUFLUZ]:]TT.I3\TW!RA"AE*IHBY./U3>MKG33K?W7^:K3KG\C9&=FTGQ^;
MU<Y5]5^?2;/;J'VBQ" VR!+4B)CLD=GN&/KG#D )/,_E6,!RAE8/=!/>&'NN
M&?2!)89C$LZ\1ZO/.%3!R1.S;?S;L]RSGL&9*5Z!;R9[\ S3Z-F,C%W[>02U
M>XQ;#C0P&KN!8T)YWS6-9WB, H"2%O)\(@4O)@7H*/R"DOAO* F@=# 51N[W
M7]2B<B'_CUPER-)OB1*QUV.M(+78=4/T<PBJ:J.Z<NA]WPY,1CX^6?Z0/'CN
M$_R!UX#'P!LCJBZJ_9D9WIG[R+PS_$2 %1;_]#DD);")_SP&M3"A$.B!;7VI
MN0YW;<LTL.,. [TV;"9:]9A@8R%7^@T8)%J*=\-C("$3^_^KIE)=+U-%42[/
MH4JL]O_5V_>=+O"AE+^ RLP - V[N:@%)9<7+?RJZK12U);7XUJ23P\@Y\45
ME<**:$'-)^II&G[@G8&&AE6%BK2P&DW+E<,NAYVUG^/=+=!R44_6#II,:D,0
MYL(*R[FBI OZ5RDD2EZ#CG.D9F#Y0H\- DJ EHI-32JC<?(418H5]-ER0$.@
M9KV<TW^;5/I/?$X>H9+ 8S&M@CK<$8M7%3%,H_D9AK4FI=C/,7,X0Q.#VGZM
MT'Q)P5<I\&1@L[YXR0#TRRF_3>J&+EDCP[. <P;G+J@XZI=08<MY9-P?L9!T
M'HS1[$"POM6WQN*]I5(/U1^L%RV1@TS@AZ%A#V)V*/1>(F,D'F!CV'?#!SWL
M!;[  VA=2,YD$4.0%X6B*KN' &%XX=-RI9@4^;1.!"S3L@.DG,- MZ25)Z#_
M5R6G%&=JAD>52;4U@P]1'1XM$W[N/<>D9P"G'P$&41)8E49UJ4PO(M,\1Q)6
MWS-@E.\#.X<,.@550\DF0,BH![7HBL#^/ A[9%@.=E&,&5*63Z[W VGK&V/+
MAY8$&FA4+<?LXSRP)0S^_DM9TY0+9 9^5$L7/#*K).7].'72F(3NF9X%2HU<
MF35GP[;/? MD$=8WM=O0?*8C!(4."+DL53+\NPR_1'4Y\BT08][(]1@E,>MG
MSM_N<SB"((:S::\B6E!Y'1 (?/>''F-".E#E7Z VT,>^$< H&7 ;10]=LCB8
M!;QI^.3!=D%4Q/<8#%J"_U"5&WA+B04#_,%\?!5ZCDZ5Y01@_B.A7R U:-\-
M'H9NX,]I"A7"4B^ 9LLDUSER9T"=_1_DYMGI#RFYPS'41)A";M7J+:$TP(C<
M9-0+Q;T 2*8 )$%C9LR:0H<9"//!/D*70!T>@!=Q_  &+!5CQ.V!9T!A 'L
M0^R'YP-OD+V# ;BDOF0$XRQ1\9. 8H#:LQC4SA(J.<FP!%+R(+ <2'^ +U.;
MC(_V,2VG #LC4'0_Y(X M* /_@P?P#C-?K)^(/PE8"P4L2T?%.B9^VQTEFP7
M( %J -*EEJ 2@5?#O"=P:030.,]G3R"K'&D%7L+@SE88G'"P\!F:"\ SB"'>
M%6R% ?P%G@&]?1#J.]$P>+?'; N\N409H88]4'/'1>.)@$2P$CHIVPT1'IL7
M!N2%@Z/1LY %$[V$QH1?9));+R>U<JIZ"8CIK^OAQ/P8T#PO$HJT4A"5/^30
M9VQR#AUG(%U3  *U!#:O48N>(]TAFU.R:$05+NO"KBS&?U3AV"@<^K&K.-T'
MX'#100;-Q,<AQ&#5-:E($Z;. #!=:H9T)9Q&;E@?;=OU8&R;"A%Y,7!MVWT2
MDD#,!J.&3@]PPD$2,I[R @:'F4J?-Y%!7I"+PJ!8%6</:&72?[Z4XT8XLP*3
M\H>?547Y[8+TP*1 7C -M8TQ9Y^C#^0?8*I +?@V%Q>S+Y'HTP4!5]SWX)\9
M50[2!]@W[&CJYKMC<D%FG_9<'^1%L'PTX_!-40U4S4%>?WQ08;8<UAFV+PM]
M#HV[9QL ZNK8AUKFYXKP<*[1D66:-ILGYD42HUEG5TCA5DJA/B>%V*04.W,N
M&)-@SLCX>2:YGT?FQSZ.+"?VR\5;N3C7GCII3DVT!M\NQH:)D]@S$67X3!0R
M48OU."[*;<+P3>C6IH1K2<JU&.DV&[R&\LUU98%6H.W-B'Y3"6Q&T\M<JTS:
MJB3:@F\7^V?0;\+# ISK(,Z]D57[(W_+)I56NE+$T*.P=3VS]<S6WY- :T/#
M>6!'*<K5+E@28_#KYGZ7G!Y<\@"C!CA' #[!YX6!X]6<VV@ V=CEDL]7]^77
M%Z#Y13S>.85AF%TK:*O-)VDTV^;EFYWQ%)!8+.3RK]''Q<+&IULE[[?EM"4U
M43N0K:PS8&06O9Y%*SK-ZVJJS>48++J<JQRG1:> >4<@7^48 'N!P[4UEPI#
ML[\;H_%%<A5]EBE[CV:]?KAXXXQV-X!,"X#)A<(<'J?$)O<NWA?I+.66\NJ5
M@MT]^*;'9<K,]:WFJFA45^?&ALQ<EYKK4EZ]&W,]&6$JN=*1"',-SRAJ@LP1
MA,^2_5(+.67\\Q7D=%W<[;3,Q]K$J]K_[/40\],"S9<*M*SHQV.3.\9/+5?8
M3##'AX];=6?>C9TH!5K*+]6-=V<GQ=Q2S#@5.SD662AI@:QMQ$?D"#[9QO:V
M0?SP,YCCF6OAZ0F-%BK*P?7Y6-QSK;2.X:7"/S\29^+P5G \]IJG)7#=*WIF
MKVO;JWXT\^E,FB]+4\N5CT2:Z8J.9%&064V2QTOT2A8%B>:[BI);.JZ<RO0N
M"X-L;"AX?$JEQ5(6!GE/AG(LPBBLX][M;;P_%Z?2ON")N<N>1Y)G'_]^?2:
MMQV!?*%A<4Z<Z@7U%2V%QR1_E3D8$N<C7V@U>2(R/%QL.(DJG'BN +*<F3PG
M-NC+0X?AV><E;U+R-+3Z0W%FUG']Y"E.<8P^47@N\T@\^8.:TT(YZ;2LE[9Q
M5E6G8<:#S<ZJ3LYISA_P7IG(8ITT*O*X?SZ?R_^6I#8O^A]5P0V9?<%R36(;
M/'&*/4>^RT.M[OSY\XW.@^))7/$V:([K)0[*ATT+8N?T:BHS>(V[CL/L&(-D
M5A>DRF%/9&AYX9'K'G/8P/+#8[/3.GS/>&3R4"V>AV:<R\0Z Q8_,OM2HHNU
M>+\D&P84%=DKYM-=)$44,R"T\C!OQJ1\95'YM02Z,+5.\A2PZYQ=5ZMWQ##_
M#GAT1EH2(W1R>GHX/-8LWL8C\6!PMB7S$X'9XT_,$=E>_*&%62ILY B5B3>*
MQ2(ME_*3+I56=6D5JV<L$1F=8+:JO,BLJ.(Y;JUQ%CZ9]T/F]^#AJ7RZ3GZ/
M9;E"XNK]:X$69+X8<8 =TYN@$HL/[+^!]0BHX(0)G0Q,9^%S'SYC48\]NK9(
M5&%;CM F4$S3DBDGH-,C8KM0).H&TE:B6EE9D+T%0*X8'LB'UV9[);M1#1Y
M:8BN+NA$GE8*VOXZH:JBL:D0J_XB+L<.YI.A84(W"S1?T:-NSB3*F!V4D!%B
M7!)YEQ1EHGF%?*X(N MZCQT,-0';DBJ"?8G(';G<!\@;&28CP1BKE*D=9C@\
M[4AT(*KF.@. 3:RC9M@2V/YB/6C03V0EFZBPS!XQA/:(2#$7E>YC:9F_"PRW
M_!FU,C?*D1KTTP/9=C$K#*@ R,$"I,7$+%%"+Z16#@Y@%>LGT9'(C.4#WW;=
M'S3,4B#S]6#.*. Z5'D&[\$__H2I+B1@2\]EEOI)7HQ'P[(CO+;P\!83(#;&
ME"4BO8=(UP)-/$E.0772TQ*$V]9C6*%00_XC1@MF61/58(8ET((1:KK''BR.
MG0QXY#_<MV\P=8?[-"^QH>^/^>?S\ZA4[I&A+N7 SB;/SK\V\J:25UC/R#.M
MGR\H>F^@:Y5"7BNK?:U0SI?GI=M"1D0U,%.J=9Q8P1\ :88=-  .P2=&3RT0
MYH"=#1P+>DKN&LWH*3IV(I>*J VYDDPL88!ANV>N \H;,A-><H041#','R?'
M@6D*"C#@'Y_)+#^8^<!R(S!IXPP3T@%CD".C4?]\?%X*-/?OBA$[[(H>>E74
MA"1B_5'S8&Z&S=V8%KA2K@UAQJ"=;6:'NLHQZY9,#9. =ZAK;#Q$66XD^[CP
M.PWST0J'] <WUC2W?.'HXOCF$[6 ^]\#S"T79BAR)Y*AQ'2?'  K,W1- .*$
MKCW#*(LL,[QGR5;"W8'_9&"VG6_"J%R.*6DBS9Z(UF<DKKHA(ZA(53*VC6<Y
M_$XY-+$3KS^$ I(.*2X+ZT8+-L;@'OT$5\QGF.+'86%ZF5>S<LX.JCW,E[1A
MTL.) BQV8C;,H!CF293C393D"?H-/BCS00P4G)='"]I#[!>YCJ1;V8^E7$FF
M4$1!"$>W6 !X"@ ZD0)F"3 WP3OM(\P#XQXM@X@D=XCP(I=, #H$RH\%Z-P8
M8X%3/4;/&IZ:%I<NJ>N%(^4##DVY)-^E'PT4(RBA_>(P-$D%.?8$Z.!'V6^&
M#+#0C$7.(R'E1+*9G@=-R39@C.3 ">9 MVU;S N3?$N6]! CQ3"_=B;*R+ ,
MZ.3(Q:1,( I,D0>RL/H\^H*S>DI&(&S#"3]C<B-A0%";!\18(F$7#S ;3R1A
MU&\AI((BDX9)^;N>2'L&;+&?11<%C$!M#X(]^ [,.PPQO0'I2 KCB;+"4[;/
M(9?< 8Q.'(=PV\2\46 \9P(F?-1.I%>29@L^(%$+.!43E,5YP&;%/*TKY%U4
MIT LH5P3M9OX'^B2!QR)F[76B33$A-ZPG_^'LSMFP<@[9GT+5!]TEIF28Z'Y
MA-FT1)D1>L"RP)0R#UT[3Z39"LF7K(WD(25OVV*N"R8,(P6 'Y#VBARDXDV8
M^5O@C)O3[DR4?*K=LZGOI(+/P10@+T"P>78#'@K*J>,#)(JNK,0B(H)-?WS
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
M*$5:+*5I,G:L4_(4R#LYQRD5:5[?<; E \[] N<AAB^15J;>Z69H^M)"-=[
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
M_[L<RYWGE^<]UWR&/T-_9'_Y_U!+ P04    "  $B"A:R58*:QL.   G/
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
MC&"2FG9[M%I GWRBGK5;\C1[-8\0:Y#L_!ISL30O()(>YAS>K,/M6)AZ:@S
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
M=[K>>!$A2K_$4@<@:\>?$K '@E?Y@H([75%\&V$1ZF'P'X)OU3K;R%@GO+5
M#PR >8-&.%TY?+M[W5B=;JVK=:&"[H,%=M*@_HYWRDY\WRPU2><$+$ "< #&
M=]J#!MJ@"X[2Y'NUQJ(X*TNHF6#J%H(TE>JT(ZW(0[Y\<IHF%[>YUUZ6"[A.
M:P_0!=5VF@7/XR4E_AWEJ';>7X#U0.MCMJ#43C/?+X@]BWBC_/U<<!]C\V!(
M'L[)%LE7JPIZ8$_[.$#CW&[%3;Y",OERP\4:"2SO8Y7\9P7-MO;&14VY'MC4
M2!]TQ_&W4,G7+7LX^+)_,%\Q:19O/.*=^J(;>JZ?7#46[[17IT4!6E9(O3][
M1P'JYI_U9]EQ\\O\RPM]Y']02P,$%     @ !(@H6F=1T?"6"@  F(4  !0
M  !G;G<M,C Q.3 Q,#%?;&%B+GAM;,V=76_CN!6&[POT/Q#N30N,XXD#%$@P
MV47&DQ3&9I-L[-EMNR@6M,0X0F32H.3$_O<E)5&62!Y)25&2<Y%QQ/=0+\4G
M)/5U_.7'_29%KX1G":.7H].3SR-$:,3BA*XO1]\7XZO%;#X?H2S'-,8IH^1R
M1-GHQQ_^_*<O:4)?+N2/%<X($O70[&*?)9>CYSS?7DPF;V]O)V]G)XRO)]//
MGT\G__SY=A$]DPT>)U36%Y&1BI*UV.).S\_/)T6IDAK*_8JG:A]G$V6GKEF4
M)AWZAI,LN<@*>[<LPGEQ.'IW@T"%_&VL9&.Y:7PZ'9^=GNRS>"2.'A+_RB/(
M64H>R1,JFGF1'[;B$&?)9IM*4\6V9TZ>[&92SB<R?D+)&N<DECLZESLZ_;O<
MT5^JS;=X1=(1DLKOCW.P7>>MNJJ@B6NS#X0G++ZF'W.M1WNRO\@QS_^'!C3C
MG3=AR7*<?LA\,]*Y[3ORL2-^C'-_I,7 2SYVI!N1_Q?;N6GYW8?7?EQ3N?%6
M?&I9)/N<T)C$RJ2LHF,$+O903 Q5W77M+&K5F\K1G'&S[9FHMZ@S(]')FKU.
M8I*(NJ=G\L-8?BB:+7[Y8\;$#'FURG*.HUS55#3C<F0IG^B6I/***U^81SV-
MJQ23B(FI:9N/T_(PEN%/G&VLNZU:S2R%?Z2K.KX\+&(7@-&6C).,[7A$WM4K
M3;?04:H<;5*AD$L-0L??%Z,?"@WZ7:G^\V5RK,5!1W]CT6Y#:+X4-5I:T"YV
MU<TV4ZJ7FV5!=++%D-['2H*DQG$'7XD=QW+G-RE>6^QKY:ZZV&I+]7&K,(A.
MMCG2>[G6("GRU<W?2!;Q9"N7\UWM:,F<=[K%I-'W#4U8")C&8!(:6D\#^R-9
M)W)JD1;$&CLG<F/', ;H70_]G;;UN< J#@*:(0[!V:(9A.HH3QQ=4;K#Z2/9
M,MZ%3UOFFAJ;21V6IB8H1BS&0#1*+2K%GHCX92?.V E/#[U0&$K77 !6=30T
M65!TV+V!@-1ROXPL.:99(@>P7DA,J?/3#<"L<>JAZ8+B!# 'GY+4>K^D+)Y)
MFL[89HMI_X!B$[NF!3:L\V(J@R(&M <R4T2@*B0<;*Y?Y>I<+),&-K:A]PF/
M8;N+GUH<+$*ZPX$4%6%(QGDBJ7$;HH<A0^F:'L"JSHTF"XH8NS>0E5*."KU_
M2*YI/ B16N<'$,VF'8]*%" <;6=]: BU3S!NDBS":>GE1FS+.IIGT;H&!+2K
M0V((@P(%<@?"4@8H9HH0K\#\BV ^#)>&T@\LAE4[*K4L0%!T;WV82+T72&8[
MSENNX1D'ECJ[*=MCMKX_"^B" *7'G''7MI2W0/$T UW3/,D/-TE*[G:;%>&6
MQID25VQ YA03>GD0+ "F= 9*&9(Z5 J]]+RZ2T#S.[RQC1!VF5L"[";;%+0U
M 9%@-0;0<-0B*?9"Q$R,3!RG<QJ3_4_D +;+T+EE K#9AD(3!42%W1F 125&
MA1H)N1<P'GBRP?RP2**>J<(4ND4#,MIF0U<%! =@#:"C4J/%?.9S)EGB_3P6
MH"9/2?D\> \EH-XM+#VVV\P XH#0Z78($"2"4#O*)TAS&C&^98W''69L)P;
MPXS%\ JE)\HM5(.:T$:K,R0@P(;X!#!KA7XJGTE!C*.J B1K\$+<51R+ Y55
M_]TFE)R"[;=JW=+58;?-E$48$$FP.X"?2OE)?4 R!MW34*"9OJ.I4__03(="
M,PT:FNE'H%F^L4"@.7M'4\_\0W,V%)JSH*$Y^Q THN.]CC4S\?&>+]F;[>%L
M4.D%&=.J%9BC+#Q<#&]]L,@ N9Z1(3XQ*196]_R!L]>$1O"2&9)[ 08P;:5&
MTX:'CMU@'S_U@EC%>1UKRD5Y[Q^)DOD99=HF[4-,J0D/DK:QWL&E5/M$XH%E
M.4[_G6P[3\3M8B]X6 U;(6DIPT/%9J\/F#(&B2 ?)]85KO*&AO55,JW<W2O
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
M%=G-GQ5=QC+;XK+\Z;4ZK8\RRE.S0?.Q5&ZCV<7#950)@=M4R".[-@)M0BB
M:QI=)/*U&U-FP/<']D/'?BA F'^^%1NZG>E,D2C;K8F3&>7%^K\9S9&DVT!4
M.Q)3LT9W4%7%<4R'F;M544NJF"K#>K<NHJ)*OD[WT*VBNR3*K*@3+1C?IWJN
M9.JCLR4A/8$>@C*;:(;FK=E^;&,8<9*X<1Y)@#Q[&$"=;K"(?J0Z4FQIN=2
MK2B!?/NH?!W>&L:\.W:>:<)LO#:4B:%$[<)PO^!I @0_P.PI@FZ1,G K1$[X
M,UU*50.^J@3R_AF3M\L;$N8_<Z(RJO@&0OI$#(3]"R9LCT,DWE-%A&:6#P3X
MJ1I(_%?4"P^/1R3DDP7E?"C3)1&@O=RE!V)_AXG=[_,-@+]_M>=W<VJ!LS]H
M L3_VUO!?^(6*0-/5#$9FU.Z K _$0.I7V%2]SA$Y7TO8BCMO11<_^##/K*'
MA'K$=$1X&='(+--AW XY%#E*S5EK$Q7[OY0H,/0#,10Y2AE:8[%AX,-<J4HP
MP5[%KX8B1RE ZTPVS/Q>9"S;C!BG7_)T]OW&:97UJ0K*&*7H])E"8;N[TR"R
M+R3U[,MN)90Q2JT9,H?">6C\*,+'(J;K3W03 GTBA9)&J3&#]E!0/RF6$K69
ML*B^TSC50F&C5)9A@RBTIV0]CHTK-F?E4\%ZZ-XF4/8H927(+DH*QB*2:BD/
M;A</96Z.Q\U0QL$NO:8A-!TH]>89UE&2<AO'!I?>_GE@@O9"J7#*P<^(\!(0
ML/E&L/?/P]Z'8T>I0VMMOA'L@_.P#^#846K16IN8V(?FXZ.:RI7G";17#$6.
M4HO66,0$7IQI'M63DJ^L'!Q51_VD!10]8HD:-HNZPY<G><C>OE-">2.6JVYS
MF)R?I,X(_X\MZZXDW7HH<\3"-62TZ1N,9=[M30O?4*(C"90O2JWJM-,T4IMA
M18E_]ZTJH$!1"E"7F89Y/DC[[&,A1?!^[*D*RA6EDO29:KKCM:.)M??0/_@:
M/((-I5L]MM$PQJ^*92:"H4S37&SOT7B>BGFD4+PHY5_07L.H)Y*SB&5,))_-
M%:)BA+LYNW10R"C%GM]8PX2?%+69IN:RNQC'9:<;J,?YW-?SAO10XBBU7KU1
M7/)CK7.JSN7O: 7- DK9!S7==#]#H]QT>YM>?S:U,V8\O<R)"LH:I>3SF6J8
M[1<Y5<1.9IMLTIGD_NDA3B&4,$J!%[#6,.1*'&Z\1Q(H6)3*SFD'J4^X7T<+
M(A+J'[W@5D(!HU1Z(7-H?6\"ZGN3,_M>E(K/9PJ);3DVW!Q1CS/.$N*?219L
M )YG@TD\8+7I^7O%E)^QF$N5%G&,S <W=H\4"AQGBF3(7M.H\YAE-"Y#&C%!
M1&1*JOV\-D]U7M\*F@"<.91 TRBW][]2SC\)N1(32K04-"XO]4-W^+U-H%E
M?(988Q<E!7]+GAM*JA@(JCS'@$<*18[X[-!C#V?L93FH>7_NL0>A;Z1\N 44
M/.)#Q+!9I/%I&;4QLU?ZD61D&V&(OZ\%E#_B \6P6;3Q\VIH3CR)##\S/Q)"
M:2,.A75:0X$\20GG=[EF@NI@WW(DA$)&'//JM(8"^3ZE*C&=VA]*KK+%=FYG
M"+:G 10ZXLC6H%4<^.OO\\C+^6]!\@XU^.T$B-B])K%>NQ%%=B!%>287,5$>
MZB$]E#OJQ$J_T8;)/V8+J@ZOGXI@QJ9N"PUZJ&\%S0)*N0HUC7-N/9C)'SRU
M5G10WHB%J<L8SIRI?,99-.*2!*_+*S(H7\0JU&$+!>\=$2\J7V;1YDG)B%+[
M^$3OCS9 001< 30EB/7I62AP;A?(-+63B63T,ED8T_HQSXK7>YKX@C<-@NV@
MJ<&<Q DPCG05I+]/]*+QW>:9SJFRPQ2F=)W=F0V]A"^* ,VA^4%]HQ 8@R--
M[[LGOA[, ONBVO(;^\N^C-4L^1]02P$"% ,4    "  $B"A:Y?OX'AHJ   F
M^@$ "P              @ $     97AH7SDY,2YH=&U02P$"% ,4    "  $
MB"A:R58*:QL.   G/   #@              @ %#*@  9CAK7S Q,#@R-2YH
M=&U02P$"% ,4    "  $B"A:A257J[ "  #5"P  $               @ &*
M.   9VYW+3(P,3DP,3 Q+GAS9%!+ 0(4 Q0    (  2(*%JO[VJ!40@  (=D
M   4              "  6@[  !G;G<M,C Q.3 Q,#%?9&5F+GAM;%!+ 0(4
M Q0    (  2(*%IG4='PE@H  )B%   4              "  >M#  !G;G<M
M,C Q.3 Q,#%?;&%B+GAM;%!+ 0(4 Q0    (  2(*%ILP4#5]P8  /96   4
M              "  ;-.  !G;G<M,C Q.3 Q,#%?<')E+GAM;%!+!08
.!@ & 'D!  #<50     !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>f8k_010825_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2023"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="gnw-20190101.xsd" xlink:type="simple"/>
    <context id="Form8K">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000875582</identifier>
        </entity>
        <period>
            <startDate>2025-01-08</startDate>
            <endDate>2025-01-08</endDate>
        </period>
    </context>
    <unit id="USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Shares">
        <measure>shares</measure>
    </unit>
    <unit id="USDPShares">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <dei:EntityCentralIndexKey contextRef="Form8K" id="ixv-142">0000875582</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag contextRef="Form8K" id="ixv-143">false</dei:AmendmentFlag>
    <dei:DocumentType contextRef="Form8K" id="ixv-163">8-K</dei:DocumentType>
    <dei:DocumentPeriodEndDate contextRef="Form8K" id="ixv-164">2025-01-08</dei:DocumentPeriodEndDate>
    <dei:EntityRegistrantName contextRef="Form8K" id="ixv-165">NORTHERN TECHNOLOGIES INTERNATIONAL CORPORATION</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="Form8K" id="ixv-166">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityFileNumber contextRef="Form8K" id="ixv-167">001-11038</dei:EntityFileNumber>
    <dei:EntityTaxIdentificationNumber contextRef="Form8K" id="ixv-168">41-0857886</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="Form8K" id="ixv-32">4201 Woodland RoadP.O. Box 69</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="Form8K" id="ixv-169">Circle Pines</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="Form8K" id="ixv-170">MN</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="Form8K" id="ixv-171">55014</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="Form8K" id="ixv-172">763</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="Form8K" id="ixv-173">225-6600</dei:LocalPhoneNumber>
    <dei:WrittenCommunications contextRef="Form8K" id="ixv-174">false</dei:WrittenCommunications>
    <dei:SolicitingMaterial contextRef="Form8K" id="ixv-175">false</dei:SolicitingMaterial>
    <dei:PreCommencementTenderOffer contextRef="Form8K" id="ixv-176">false</dei:PreCommencementTenderOffer>
    <dei:PreCommencementIssuerTenderOffer contextRef="Form8K" id="ixv-177">false</dei:PreCommencementIssuerTenderOffer>
    <dei:Security12bTitle contextRef="Form8K" id="ixv-178">Common stock, par value $0.02 per share</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="Form8K" id="ixv-179">NTIC</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="Form8K" id="ixv-180">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityEmergingGrowthCompany contextRef="Form8K" id="ixv-181">false</dei:EntityEmergingGrowthCompany>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
