<?xml version="1.0" encoding="windows-1252"?>
<informationTable xmlns="http://www.sec.gov/edgar/document/thirteenf/informationtable" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<infoTable>
  <nameOfIssuer>AKAMAI TECHNOLOGIES COM</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>00971T101</cusip>
  <value>193297819</value>
  <shrsOrPrnAmt>
    <sshPrnamt>1635207</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>1512895</Sole>
    <Shared>0</Shared>
    <None>122312</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>ALARM COM HLDGS INC COM</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>011642105</cusip>
  <value>167519886</value>
  <shrsOrPrnAmt>
    <sshPrnamt>3585614</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>3377527</Sole>
    <Shared>0</Shared>
    <None>208087</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>ALIGN TECHNOLOGY INC</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>016255101</cusip>
  <value>132090801</value>
  <shrsOrPrnAmt>
    <sshPrnamt>783178</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>735736</Sole>
    <Shared>0</Shared>
    <None>47442</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>APPLE INC COM</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>037833100</cusip>
  <value>287045</value>
  <shrsOrPrnAmt>
    <sshPrnamt>992</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>992</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>ARISTA NETWORKS INC COM SHS</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>040413205</cusip>
  <value>303797168</value>
  <shrsOrPrnAmt>
    <sshPrnamt>1788304</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>1653081</Sole>
    <Shared>0</Shared>
    <None>135223</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>AUTODESK INC COM</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>052769106</cusip>
  <value>60142952</value>
  <shrsOrPrnAmt>
    <sshPrnamt>309345</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>285200</Sole>
    <Shared>0</Shared>
    <None>24145</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>AXOGEN INC COM</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>05463X106</cusip>
  <value>5905807</value>
  <shrsOrPrnAmt>
    <sshPrnamt>127859</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>127859</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>CCC INTELLIGENT SOLUTIONS HOLD</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>12510Q100</cusip>
  <value>180017</value>
  <shrsOrPrnAmt>
    <sshPrnamt>34887</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>34887</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>CELSIUS HLDGS INC COM NEW</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>15118V207</cusip>
  <value>42939222</value>
  <shrsOrPrnAmt>
    <sshPrnamt>1466503</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>1352507</Sole>
    <Shared>0</Shared>
    <None>113996</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>CEVA INC COM</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>157210105</cusip>
  <value>31257742</value>
  <shrsOrPrnAmt>
    <sshPrnamt>662802</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>662802</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>COGNEX CORP COM</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>192422103</cusip>
  <value>299798160</value>
  <shrsOrPrnAmt>
    <sshPrnamt>4139715</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>3834756</Sole>
    <Shared>0</Shared>
    <None>304959</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>CORE LABORATORIES INC</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>21867A105</cusip>
  <value>35441362</value>
  <shrsOrPrnAmt>
    <sshPrnamt>3042177</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>2961959</Sole>
    <Shared>0</Shared>
    <None>80218</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>DEVON ENERGY CORP NEW COM</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>25179M103</cusip>
  <value>174346240</value>
  <shrsOrPrnAmt>
    <sshPrnamt>4219415</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>3928361</Sole>
    <Shared>0</Shared>
    <None>291054</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>DOLBY LABORATORIES INC COM CL </nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>25659T107</cusip>
  <value>65608877</value>
  <shrsOrPrnAmt>
    <sshPrnamt>1247791</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>1141262</Sole>
    <Shared>0</Shared>
    <None>106529</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>DOUBLEVERIFY HLDGS INC COM</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>25862V105</cusip>
  <value>105030283</value>
  <shrsOrPrnAmt>
    <sshPrnamt>9689140</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>9139762</Sole>
    <Shared>0</Shared>
    <None>549378</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>DYNATRACE INC NEW</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>268150109</cusip>
  <value>39894452</value>
  <shrsOrPrnAmt>
    <sshPrnamt>908550</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>859082</Sole>
    <Shared>0</Shared>
    <None>49468</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>EVERPURE INC CL A</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>74624M102</cusip>
  <value>366115502</value>
  <shrsOrPrnAmt>
    <sshPrnamt>4646725</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>4372519</Sole>
    <Shared>0</Shared>
    <None>274206</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>EXPAND ENERGY CORPORATION COM</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>165167735</cusip>
  <value>214016273</value>
  <shrsOrPrnAmt>
    <sshPrnamt>2346927</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>2245968</Sole>
    <Shared>0</Shared>
    <None>100959</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>FLOOR &amp; DECOR HLDGS INC CL A</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>339750101</cusip>
  <value>65509191</value>
  <shrsOrPrnAmt>
    <sshPrnamt>1103591</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>1021159</Sole>
    <Shared>0</Shared>
    <None>82432</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>GARMIN LTD SHS</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>H2906T109</cusip>
  <value>315175792</value>
  <shrsOrPrnAmt>
    <sshPrnamt>1326832</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>1254850</Sole>
    <Shared>0</Shared>
    <None>71982</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>GARTNER INC COM</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>366651107</cusip>
  <value>44678329</value>
  <shrsOrPrnAmt>
    <sshPrnamt>344687</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>317532</Sole>
    <Shared>0</Shared>
    <None>27155</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>GENERAC HLDGS INC COM</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>368736104</cusip>
  <value>163554442</value>
  <shrsOrPrnAmt>
    <sshPrnamt>558568</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>518630</Sole>
    <Shared>0</Shared>
    <None>39938</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>GENTEX CORP COM</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>371901109</cusip>
  <value>115268739</value>
  <shrsOrPrnAmt>
    <sshPrnamt>4561485</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>4190224</Sole>
    <Shared>0</Shared>
    <None>371261</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>GITLAB, INC</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>37637K108</cusip>
  <value>101006108</value>
  <shrsOrPrnAmt>
    <sshPrnamt>3308421</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>3134263</Sole>
    <Shared>0</Shared>
    <None>174158</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>GLOBANT SA</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>L44385109</cusip>
  <value>2904042</value>
  <shrsOrPrnAmt>
    <sshPrnamt>100347</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>100347</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>GRACO INC COM</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>384109104</cusip>
  <value>24306044</value>
  <shrsOrPrnAmt>
    <sshPrnamt>321466</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>299350</Sole>
    <Shared>0</Shared>
    <None>22116</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>INMODE LTD SHS</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>M5425M103</cusip>
  <value>4657128</value>
  <shrsOrPrnAmt>
    <sshPrnamt>318545</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>318545</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>INTERDIGITAL INC COM</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>45867G101</cusip>
  <value>144423622</value>
  <shrsOrPrnAmt>
    <sshPrnamt>510096</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>480080</Sole>
    <Shared>0</Shared>
    <None>30016</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>INTUIT COM</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>461202103</cusip>
  <value>22450959</value>
  <shrsOrPrnAmt>
    <sshPrnamt>86019</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>79519</Sole>
    <Shared>0</Shared>
    <None>6500</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>INTUITIVE SURGICAL INC</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>46120E602</cusip>
  <value>42154080</value>
  <shrsOrPrnAmt>
    <sshPrnamt>106000</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>98269</Sole>
    <Shared>0</Shared>
    <None>7731</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>IPG PHOTONICS CORP COM</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>44980X109</cusip>
  <value>62277386</value>
  <shrsOrPrnAmt>
    <sshPrnamt>530833</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>490332</Sole>
    <Shared>0</Shared>
    <None>40501</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>KORNIT DIGITAL LTD SHS</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>M6372Q113</cusip>
  <value>49255391</value>
  <shrsOrPrnAmt>
    <sshPrnamt>3031101</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>3031101</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>LGI HOMES INC COM</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>50187T106</cusip>
  <value>51903626</value>
  <shrsOrPrnAmt>
    <sshPrnamt>815069</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>762812</Sole>
    <Shared>0</Shared>
    <None>52257</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>MATERIALISE NV SPONSORED ADS</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>57667T100</cusip>
  <value>14803837</value>
  <shrsOrPrnAmt>
    <sshPrnamt>1992441</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>1992441</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>MICROCHIP TECHNOLOGY INC. COM</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>595017104</cusip>
  <value>43636418</value>
  <shrsOrPrnAmt>
    <sshPrnamt>478469</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>443405</Sole>
    <Shared>0</Shared>
    <None>35064</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>MIMEDX GROUP INC COM</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>602496101</cusip>
  <value>2263538</value>
  <shrsOrPrnAmt>
    <sshPrnamt>587932</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>587932</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>MONDAY.COM LTD</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>M7S64H106</cusip>
  <value>91452821</value>
  <shrsOrPrnAmt>
    <sshPrnamt>1263335</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>1198548</Sole>
    <Shared>0</Shared>
    <None>64787</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>PAYCHEX INC COM</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>704326107</cusip>
  <value>14919857</value>
  <shrsOrPrnAmt>
    <sshPrnamt>151732</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>139469</Sole>
    <Shared>0</Shared>
    <None>12263</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>PLEXUS CORP COM</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>729132100</cusip>
  <value>433245926</value>
  <shrsOrPrnAmt>
    <sshPrnamt>1440935</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>1358191</Sole>
    <Shared>0</Shared>
    <None>82744</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>POWER INTEGRATIONS INC COM</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>739276103</cusip>
  <value>158462571</value>
  <shrsOrPrnAmt>
    <sshPrnamt>1891864</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>1783888</Sole>
    <Shared>0</Shared>
    <None>107976</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>POWERFLEET INC</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>73931J109</cusip>
  <value>23970438</value>
  <shrsOrPrnAmt>
    <sshPrnamt>6258600</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>6258600</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>PROGYNY INC COM</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>74340E103</cusip>
  <value>34066465</value>
  <shrsOrPrnAmt>
    <sshPrnamt>1181632</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>1133146</Sole>
    <Shared>0</Shared>
    <None>48486</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>PROTO LABS INC COM</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>743713109</cusip>
  <value>194035737</value>
  <shrsOrPrnAmt>
    <sshPrnamt>2380514</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>2244845</Sole>
    <Shared>0</Shared>
    <None>135669</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>SEMTECH CORP COM</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>816850101</cusip>
  <value>154572172</value>
  <shrsOrPrnAmt>
    <sshPrnamt>955033</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>903724</Sole>
    <Shared>0</Shared>
    <None>51309</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>SHARKNINJA INC COM SHS</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>G8068L108</cusip>
  <value>108982913</value>
  <shrsOrPrnAmt>
    <sshPrnamt>715721</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>659077</Sole>
    <Shared>0</Shared>
    <None>56644</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>SIMPSON MFG INC COM</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>829073105</cusip>
  <value>50383113</value>
  <shrsOrPrnAmt>
    <sshPrnamt>240664</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>221977</Sole>
    <Shared>0</Shared>
    <None>18687</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>SNAP ON INC COM</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>833034101</cusip>
  <value>122804633</value>
  <shrsOrPrnAmt>
    <sshPrnamt>305180</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>282054</Sole>
    <Shared>0</Shared>
    <None>23126</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>SPS COMM INC COM</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>78463M107</cusip>
  <value>121422277</value>
  <shrsOrPrnAmt>
    <sshPrnamt>2123881</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>1996804</Sole>
    <Shared>0</Shared>
    <None>127077</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>STITCH FIX INC COM CL A</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>860897107</cusip>
  <value>77720314</value>
  <shrsOrPrnAmt>
    <sshPrnamt>18910052</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>18088366</Sole>
    <Shared>0</Shared>
    <None>821686</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>SUPER MICRO COMPUTER INC COM N</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>86800U302</cusip>
  <value>78118021</value>
  <shrsOrPrnAmt>
    <sshPrnamt>2663417</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>2663417</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>TAKE-TWO INTERACTIVE SOFTWARE </nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>874054109</cusip>
  <value>73010534</value>
  <shrsOrPrnAmt>
    <sshPrnamt>292065</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>268787</Sole>
    <Shared>0</Shared>
    <None>23278</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>TREX CO INC COM</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>89531P105</cusip>
  <value>29628484</value>
  <shrsOrPrnAmt>
    <sshPrnamt>592096</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>540231</Sole>
    <Shared>0</Shared>
    <None>51865</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>VEEVA SYS INC CL A COM</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>922475108</cusip>
  <value>25016881</value>
  <shrsOrPrnAmt>
    <sshPrnamt>140964</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>130224</Sole>
    <Shared>0</Shared>
    <None>10740</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>VIASAT INC COM</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>92552V100</cusip>
  <value>425862181</value>
  <shrsOrPrnAmt>
    <sshPrnamt>4741812</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>4544800</Sole>
    <Shared>0</Shared>
    <None>197012</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>WEAVE COMMUNICATIONS INC COM</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>94724R108</cusip>
  <value>17963465</value>
  <shrsOrPrnAmt>
    <sshPrnamt>2998909</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>2998909</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>YETI HLDGS INC COM</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>98585X104</cusip>
  <value>14615343</value>
  <shrsOrPrnAmt>
    <sshPrnamt>294902</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>294902</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>ZETA GLOBAL HOLDINGS CORP CL A</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>98956A105</cusip>
  <value>133059727</value>
  <shrsOrPrnAmt>
    <sshPrnamt>6761165</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>6392148</Sole>
    <Shared>0</Shared>
    <None>369017</None>
  </votingAuthority>
</infoTable>
<infoTable>
  <nameOfIssuer>ZIPRECRUITER INC CL A</nameOfIssuer>
  <titleOfClass>CS</titleOfClass>
  <cusip>98980B103</cusip>
  <value>15343571</value>
  <shrsOrPrnAmt>
    <sshPrnamt>4091619</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <investmentDiscretion>SOLE</investmentDiscretion>
  <votingAuthority>
    <Sole>4091619</Sole>
    <Shared>0</Shared>
    <None>0</None>
  </votingAuthority>
</infoTable>
</informationTable>
